結果
| 問題 | No.1282 Display Elements | 
| コンテスト | |
| ユーザー |  | 
| 提出日時 | 2025-02-20 08:20:55 | 
| 言語 | PyPy3 (7.3.15) | 
| 結果 | 
                                AC
                                 
                             | 
| 実行時間 | 338 ms / 2,000 ms | 
| コード長 | 539 bytes | 
| コンパイル時間 | 586 ms | 
| コンパイル使用メモリ | 82,296 KB | 
| 実行使用メモリ | 171,984 KB | 
| 最終ジャッジ日時 | 2025-02-20 08:21:00 | 
| 合計ジャッジ時間 | 5,242 ms | 
| ジャッジサーバーID (参考情報) | judge2 / judge1 | 
(要ログイン)
| ファイルパターン | 結果 | 
|---|---|
| other | AC * 24 | 
ソースコード
N = int(input())
A = list(map(int,input().split()))
B = list(map(int,input().split()))
C = [0]+sorted(list(set(A+B)))
D = {C[i]:i for i in range(len(C))}
A1 = sorted([D[A[i]] for i in range(N)])
B1 = [D[B[i]] for i in range(N)]
K = 0
while 2**K<len(D):
    K += 1
M = 2**K
T = [0]*(M+1)
def update(i,x):
    while i<=M:
        T[i] += x
        i += i&(-i)
def cumsum(i):
    tot = 0
    while i>0:
        tot += T[i]
        i -= i&(-i)
    return tot
ans = 0
for i in range(N):
    update(B1[i],1)
    ans += cumsum(A1[i]-1)
print(ans)
            
            
            
        