結果
問題 | No.1115 二つの数列 / Two Sequences |
ユーザー | itsy68 |
提出日時 | 2022-06-10 05:39:11 |
言語 | PyPy3 (7.3.15) |
結果 |
AC
|
実行時間 | 151 ms / 2,000 ms |
コード長 | 962 bytes |
コンパイル時間 | 203 ms |
コンパイル使用メモリ | 82,468 KB |
実行使用メモリ | 117,336 KB |
最終ジャッジ日時 | 2024-09-21 05:41:53 |
合計ジャッジ時間 | 5,797 ms |
ジャッジサーバーID (参考情報) |
judge1 / judge3 |
(要ログイン)
テストケース
テストケース表示入力 | 結果 | 実行時間 実行使用メモリ |
---|---|---|
testcase_00 | AC | 73 ms
77,904 KB |
testcase_01 | AC | 51 ms
63,536 KB |
testcase_02 | AC | 55 ms
63,832 KB |
testcase_03 | AC | 137 ms
110,412 KB |
testcase_04 | AC | 151 ms
116,708 KB |
testcase_05 | AC | 133 ms
109,996 KB |
testcase_06 | AC | 131 ms
104,580 KB |
testcase_07 | AC | 145 ms
116,412 KB |
testcase_08 | AC | 69 ms
77,912 KB |
testcase_09 | AC | 103 ms
92,384 KB |
testcase_10 | AC | 136 ms
116,788 KB |
testcase_11 | AC | 50 ms
63,128 KB |
testcase_12 | AC | 142 ms
116,680 KB |
testcase_13 | AC | 143 ms
117,272 KB |
testcase_14 | AC | 142 ms
117,336 KB |
testcase_15 | AC | 49 ms
63,696 KB |
testcase_16 | AC | 49 ms
64,032 KB |
testcase_17 | AC | 48 ms
63,608 KB |
testcase_18 | AC | 49 ms
62,932 KB |
testcase_19 | AC | 50 ms
62,332 KB |
testcase_20 | AC | 49 ms
63,140 KB |
testcase_21 | AC | 48 ms
62,136 KB |
testcase_22 | AC | 51 ms
62,592 KB |
testcase_23 | AC | 70 ms
78,088 KB |
testcase_24 | AC | 90 ms
88,776 KB |
testcase_25 | AC | 125 ms
104,284 KB |
testcase_26 | AC | 78 ms
80,812 KB |
testcase_27 | AC | 96 ms
88,204 KB |
testcase_28 | AC | 105 ms
92,864 KB |
testcase_29 | AC | 125 ms
104,892 KB |
testcase_30 | AC | 141 ms
115,576 KB |
testcase_31 | AC | 80 ms
83,060 KB |
testcase_32 | AC | 76 ms
79,556 KB |
testcase_33 | AC | 132 ms
110,608 KB |
testcase_34 | AC | 50 ms
62,768 KB |
testcase_35 | AC | 49 ms
64,200 KB |
testcase_36 | AC | 47 ms
63,468 KB |
testcase_37 | AC | 48 ms
63,408 KB |
testcase_38 | AC | 47 ms
62,132 KB |
testcase_39 | AC | 47 ms
62,020 KB |
ソースコード
# import pypyjit # pypyjit.set_param('max_unroll_recursion=-1') import sys from itertools import combinations, permutations, product, accumulate, groupby from collections import defaultdict, deque, Counter from functools import reduce from operator import add, mul import heapq import bisect import math import copy sys.setrecursionlimit(10 ** 9) input = lambda: sys.stdin.readline().rstrip() INF = float("inf") MOD = 10 ** 9 + 7 N = int(input()) A = list(map(int, input().split())) B = list(map(int, input().split())) d = {} for i in range(1, N + 1): d[A[i - 1]] = i C = [] for i in range(N): C.append(d[B[i]]) # BIT data = [0]*(N+1) def add(k, x): while k <= N: data[k] += x k += k & -k def get(k): s = 0 while k: s += data[k] k -= k & -k return s ans = 0 for i, a in enumerate(C): # 自分より小さい要素がいくつ存在するかを計算 ans += (N-1-i) - get(a) add(a, 1) print(ans)