結果
| 問題 |
No.3184 Make Same
|
| コンテスト | |
| ユーザー |
norioc
|
| 提出日時 | 2025-06-21 14:16:34 |
| 言語 | PyPy3 (7.3.15) |
| 結果 |
WA
|
| 実行時間 | - |
| コード長 | 537 bytes |
| コンパイル時間 | 285 ms |
| コンパイル使用メモリ | 82,516 KB |
| 実行使用メモリ | 122,776 KB |
| 最終ジャッジ日時 | 2025-06-21 14:16:46 |
| 合計ジャッジ時間 | 12,065 ms |
|
ジャッジサーバーID (参考情報) |
judge3 / judge2 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | AC * 3 |
| other | AC * 21 WA * 3 |
ソースコード
def bsr(x: int) -> int:
"""1 が立っている最上位ビットの位置を返す (0-indexed)"""
assert x != 0
return x.bit_length() - 1
N = int(input())
A = list(map(int, input().split()))
ma = max(A)
if ma == 0:
print(0)
exit()
xs = A[:]
ans = []
for i in reversed(range(bsr(ma)+1)):
ind = 0
for j in range(N):
if xs[j] & (1 << i):
ind = j
break
xs[j] |= (1 << i)
ans.append((i, j))
xs.sort()
print(len(ans))
for p, r in ans:
print(1, r, 1 << p)
norioc