結果
問題 | No.742 にゃんにゃんにゃん 猫の挨拶 |
ユーザー | itsy68 |
提出日時 | 2022-06-10 05:28:02 |
言語 | PyPy3 (7.3.15) |
結果 |
AC
|
実行時間 | 79 ms / 2,500 ms |
コード長 | 842 bytes |
コンパイル時間 | 178 ms |
コンパイル使用メモリ | 82,432 KB |
実行使用メモリ | 78,336 KB |
最終ジャッジ日時 | 2024-09-21 05:41:40 |
合計ジャッジ時間 | 1,912 ms |
ジャッジサーバーID (参考情報) |
judge5 / judge3 |
(要ログイン)
テストケース
テストケース表示入力 | 結果 | 実行時間 実行使用メモリ |
---|---|---|
testcase_00 | AC | 53 ms
62,336 KB |
testcase_01 | AC | 51 ms
62,080 KB |
testcase_02 | AC | 49 ms
62,464 KB |
testcase_03 | AC | 51 ms
62,464 KB |
testcase_04 | AC | 51 ms
62,592 KB |
testcase_05 | AC | 52 ms
63,528 KB |
testcase_06 | AC | 53 ms
64,896 KB |
testcase_07 | AC | 61 ms
69,888 KB |
testcase_08 | AC | 68 ms
72,100 KB |
testcase_09 | AC | 49 ms
62,208 KB |
testcase_10 | AC | 50 ms
62,464 KB |
testcase_11 | AC | 79 ms
78,336 KB |
testcase_12 | AC | 76 ms
78,180 KB |
testcase_13 | AC | 50 ms
62,336 KB |
testcase_14 | AC | 50 ms
62,464 KB |
testcase_15 | AC | 50 ms
62,464 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 = [] for i in range(N): A.append(int(input())) # 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(A): # 自分より小さい要素がいくつ存在するかを計算 ans += (N-1-i) - get(a) add(a, 1) print(ans)