結果
| 問題 | No.2545 Divide by 3 | 
| コンテスト | |
| ユーザー |  | 
| 提出日時 | 2023-11-24 23:23:47 | 
| 言語 | PyPy3 (7.3.15) | 
| 結果 | 
                                AC
                                 
                             | 
| 実行時間 | 52 ms / 2,000 ms | 
| コード長 | 668 bytes | 
| コンパイル時間 | 393 ms | 
| コンパイル使用メモリ | 82,304 KB | 
| 実行使用メモリ | 54,400 KB | 
| 最終ジャッジ日時 | 2024-09-26 09:47:53 | 
| 合計ジャッジ時間 | 1,859 ms | 
| ジャッジサーバーID (参考情報) | judge4 / judge1 | 
(要ログイン)
| ファイルパターン | 結果 | 
|---|---|
| other | AC * 5 | 
ソースコード
import random
n = 100
X = random.randrange(10**9)
A = [0] * n
A[0] = X
A[1] = 1
ops = []
def plus(i, j, k):
    ops.append(f"plus {i + 1} {j + 1} {k + 1}")
    A[i] = A[j] + A[k]
def div(i, j):
    ops.append(f"div {i + 1} {j + 1}")
    A[i] = A[j] // 2
plus(3, 0, 99)
# for _ in range(1):
#     plus(4, 3, 99)
#     plus(3, 99, 99)
#     for _ in range(15):
#         div(4, 4)
#         div(4, 4)
#         plus(3, 3, 4)
#     plus(2, 2, 3)
plus(3, 3, 1)
for _ in range(30):
    plus(3, 3, 3)
for i in range(30):
    div(3, 3)
    div(3, 3)
    plus(2, 3, 2)
for _ in range(30):
    div(2, 2)
assert A[2] == X // 3
print(len(ops))
print(*ops, sep="\n")
            
            
            
        