結果
問題 | 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 sys input = sys.stdin.readline class BIT: def __init__(self, N): self.N = N self.bit = [0] * (N + 1) self.b = 1 << N.bit_length() - 1 def add(self, a, w): x = a + 1 while(x <= self.N): self.bit[x] += w x += x & -x def sum(self, a): ret, x = 0, a while(x > 0): ret += self.bit[x] x -= x & -x return ret def 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 = 0 for i, k in enumerate(a): bt.add(k, 1) rev += i - bt.sum(k) if(rev & 1): print(-1) else: print(1)