結果
| 問題 | No.2965 Don't Stop the Game again |
| コンテスト | |
| ユーザー |
👑 |
| 提出日時 | 2026-10-28 21:36:49 |
| 言語 | PyPy3 (8.0.0 + ACL) |
| 結果 |
AC
不安定
|
| 実行時間 | 36 ms / 2,024 ms |
| + 137µs | |
| コード長 | 867 bytes |
| 記録 | |
| コンパイル時間 | 92 ms |
| コンパイル使用メモリ | 64,724 KB |
| 実行使用メモリ | 53,580 KB |
| 最終ジャッジ日時 | 2026-10-28 21:37:08 |
| 合計ジャッジ時間 | 6,057 ms |
|
ジャッジサーバーID (参考情報) |
judge7_0 / judge3_0 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| other | AC * 40 |
ソースコード
N = 50
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(N):
ops.append((1, j + 1))
idxs = []
for i in range(N):
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 + 1, prev + 1, idxs[i] + 1))
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] + 1, tas[1] + 1, idxs[pp] + 1))
for i in range(2, len(tas)):
ops.append((4, tas[i] + 1, idxs[pp] + 1, idxs[pp] + 1))
for i in range(N):
if not i in [idx_one, idxs[pp]]:
ops.append((3, idxs[pp] + 1, i + 1, i + 1))
print(len(ops))
for op in ops:
print(*op)