結果

問題 No.696 square1001 and Permutation 5
ユーザー beetbeet
提出日時 2018-06-08 23:57:14
言語 Java21
(openjdk 21)
結果
TLE  
実行時間 -
コード長 791 bytes
コンパイル時間 2,399 ms
コンパイル使用メモリ 77,088 KB
実行使用メモリ 77,764 KB
最終ジャッジ日時 2024-06-30 11:23:44
合計ジャッジ時間 42,976 ms
ジャッジサーバーID
(参考情報)
judge3 / judge5
このコードへのチャレンジ
(要ログイン)

テストケース

テストケース表示
入力 結果 実行時間
実行使用メモリ
testcase_00 TLE -
testcase_01 AC 140 ms
41,612 KB
testcase_02 AC 146 ms
41,724 KB
testcase_03 AC 190 ms
42,460 KB
testcase_04 AC 221 ms
45,404 KB
testcase_05 AC 269 ms
46,184 KB
testcase_06 AC 460 ms
47,980 KB
testcase_07 AC 654 ms
48,052 KB
testcase_08 AC 1,258 ms
51,568 KB
testcase_09 AC 3,439 ms
54,224 KB
testcase_10 TLE -
testcase_11 AC 3,634 ms
69,664 KB
testcase_12 AC 131 ms
54,100 KB
testcase_13 AC 128 ms
54,240 KB
権限があれば一括ダウンロードができます

ソースコード

diff #

import java.util.*;
import java.lang.*;
import java.math.*;

public class Main {
    int n;
    int[] bit;
    int sum(int i){
	int s=bit[0];
	for(int x=i;x>0;x-=(x&-x))
	    s+=bit[x];
	return s;
    }
    void add(int i,int a){
	if(i==0) return;
	for(int x=i;x<=n;x+=(x&-x))
	    bit[x]+=a;
    }

    void run(){
	Scanner cin = new Scanner(System.in);
	n = cin.nextInt();
	int[] p = new int[n];
	for(int i=0;i<n;i++) p[i]=cin.nextInt();    
	
	bit = new int[n+100];
	
	BigInteger ans = BigInteger.ONE, x = BigInteger.ONE;
	for(int i=1;i<=n;i++){
	    ans = ans.add(x.multiply(BigInteger.valueOf(sum(p[n-i]))));
	    add(p[n-i], 1);
	    x = x.multiply(BigInteger.valueOf(i));
	}
	System.out.println(ans);
    }
    
    public static void main(String[] args) {
	new Main().run();
    }
}
0