結果
| 問題 | No.2545 Divide by 3 | 
| コンテスト | |
| ユーザー |  | 
| 提出日時 | 2023-11-24 22:06:46 | 
| 言語 | PyPy3 (7.3.15) | 
| 結果 | 
                                WA
                                 
                             | 
| 実行時間 | - | 
| コード長 | 597 bytes | 
| コンパイル時間 | 311 ms | 
| コンパイル使用メモリ | 82,176 KB | 
| 実行使用メモリ | 54,272 KB | 
| 最終ジャッジ日時 | 2024-09-26 09:22:56 | 
| 合計ジャッジ時間 | 1,392 ms | 
| ジャッジサーバーID (参考情報) | judge2 / judge4 | 
(要ログイン)
| ファイルパターン | 結果 | 
|---|---|
| other | WA * 5 | 
ソースコード
from random import randint
D = 1431655766
def f(X: int):
    T = [X, 1] + [0] * 98
    def p(i, j, k):
        print(f'plus {i} {j} {k}')
        T[i - 1] = T[j - 1] + T[k - 1]
    
    def d(i, j):
        print(f'div {i} {j}')
        T[i - 1] = T[j - 1] >> 1
    
    offa = 4
    p(offa, offa, 1)
    for i in range(1, 31):
        p(offa + i, offa + i - 1, offa + i - 1)
    
    posa = 3
    for bit in range(31):
        if (D >> bit) & 1:
            p(posa, posa, offa + bit)
    
    for _ in range(32):
        d(posa, posa)
    
    assert T[2] == X // 3
f(randint(0, 10 ** 9))
            
            
            
        