結果
問題 |
No.2965 Don't Stop the Game again
|
ユーザー |
![]() |
提出日時 | 2024-10-28 23:47:54 |
言語 | PyPy3 (7.3.15) |
結果 |
WA
|
実行時間 | - |
コード長 | 834 bytes |
コンパイル時間 | 298 ms |
コンパイル使用メモリ | 82,256 KB |
実行使用メモリ | 83,680 KB |
平均クエリ数 | 288.96 |
最終ジャッジ日時 | 2024-10-28 23:48:04 |
合計ジャッジ時間 | 9,413 ms |
ジャッジサーバーID (参考情報) |
judge2 / judge3 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
other | WA * 43 RE * 2 |
ソースコード
P = int(input()) Q = list(map(int, input().split())) idx_one = -1 for i in range(len(Q)): if Q[i] == 1: idx_one = i break ops = [] for j in range(1, 51): ops.append((1, j)) idxs = [] for i in range(50): if i != idx_one: idxs.append(i) pp = 1 while (1 << pp) < P: pp += 1 prev = idx_one for i in range(pp): ops.append((4, prev, prev, idxs[i])) prev = idxs[i] tas = [] now = P for i in range(pp): if (now >> i) & 1: tas.append(idxs[i]) if len(tas) == 1: idxs[pp] = tas[0] else: ops.append((4, tas[0], tas[1], idxs[pp])) for i in range(2, len(tas)): ops.append((4, tas[i], idxs[pp], idxs[pp])) for i in range(50): if not i in [idx_one, idxs[pp]]: ops.append((3, idxs[pp], i, i)) print(len(ops)) for op in ops: print(op[0]) print(*op[1:])