結果
| 問題 | No.3088 XOR = SUM | 
| コンテスト | |
| ユーザー |  Katu2ou | 
| 提出日時 | 2025-04-04 22:22:21 | 
| 言語 | PyPy3 (7.3.15) | 
| 結果 | 
                                AC
                                 
                             | 
| 実行時間 | 713 ms / 2,000 ms | 
| コード長 | 564 bytes | 
| コンパイル時間 | 1,010 ms | 
| コンパイル使用メモリ | 82,268 KB | 
| 実行使用メモリ | 77,636 KB | 
| 最終ジャッジ日時 | 2025-04-04 22:22:55 | 
| 合計ジャッジ時間 | 25,223 ms | 
| ジャッジサーバーID (参考情報) | judge5 / judge3 | 
(要ログイン)
| ファイルパターン | 結果 | 
|---|---|
| sample | AC * 1 | 
| other | AC * 22 | 
ソースコード
def solve():
    n = int(input())  
    if n == 0:
        print(0, 0)
        return
    if n == 1:
    	print(1, 0)
    	return
    if n == 2:
    	print(2, 0)
    	return
    md = n.bit_length() - 1
    res1 = (1 << md, n - (1 << md))
    n = res1[0] - 1
    md = n.bit_length() - 1
    res2 = (1 << md, n - (1 << md))
    if n <= 0 or res1[0] *res1[1] >=res2[0] * res2[1]:
        print(res1[0], res1[1])
    else:
        print(res2[0], res2[1])
def main():
    TT = int(input())  
    for _ in range(TT):
        solve()
if __name__ == '__main__':
    main()
            
            
            
        