結果
問題 | No.2089 置換の符号 |
ユーザー |
![]() |
提出日時 | 2022-09-30 21:47:28 |
言語 | PyPy3 (7.3.15) |
結果 |
AC
|
実行時間 | 63 ms / 2,000 ms |
コード長 | 593 bytes |
コンパイル時間 | 203 ms |
コンパイル使用メモリ | 82,148 KB |
実行使用メモリ | 76,544 KB |
最終ジャッジ日時 | 2024-12-22 23:15:03 |
合計ジャッジ時間 | 2,739 ms |
ジャッジサーバーID (参考情報) |
judge1 / judge2 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
other | AC * 33 |
ソースコード
import sysinput = sys.stdin.readlineclass BIT:def __init__(self, N):self.N = Nself.bit = [0] * (N + 1)self.b = 1 << N.bit_length() - 1def add(self, a, w):x = a + 1while(x <= self.N):self.bit[x] += wx += x & -xdef sum(self, a):ret, x = 0, awhile(x > 0):ret += self.bit[x]x -= x & -xreturn retdef rsum(self, l, r):return self.sum(r) - self.sum(l)"""Main Code"""n = int(input())a = map(int, input().split())bt = BIT(n)rev = 0for i, k in enumerate(a):bt.add(k, 1)rev += i - bt.sum(k)if(rev & 1):print(-1)else:print(1)