結果
問題 |
No.814 ジジ抜き
|
ユーザー |
![]() |
提出日時 | 2025-06-12 13:46:54 |
言語 | PyPy3 (7.3.15) |
結果 |
MLE
|
実行時間 | - |
コード長 | 905 bytes |
コンパイル時間 | 273 ms |
コンパイル使用メモリ | 82,304 KB |
実行使用メモリ | 154,536 KB |
最終ジャッジ日時 | 2025-06-12 13:47:04 |
合計ジャッジ時間 | 6,721 ms |
ジャッジサーバーID (参考情報) |
judge1 / judge5 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | MLE * 23 |
ソースコード
def xor_0_to_n(n): if n < 0: return 0 mod = n % 4 if mod == 0: return n elif mod == 1: return 1 elif mod == 2: return n + 1 else: # mod == 3 return 0 def main(): import sys input = sys.stdin.read().split() idx = 0 N = int(input[idx]) idx += 1 result = 0 for _ in range(N): K = int(input[idx]) L = int(input[idx+1]) D = int(input[idx+2]) idx +=3 s = 1 << D a = L // s b = L % s end = a + K - 1 xor_high = xor_0_to_n(end) ^ xor_0_to_n(a - 1) higher_part = xor_high << D if K % 2 == 1: lower_part = b else: lower_part = 0 xor_player = higher_part | lower_part result ^= xor_player print(result) if __name__ == "__main__": main()