結果
問題 |
No.814 ジジ抜き
|
ユーザー |
|
提出日時 | 2018-02-21 07:26:57 |
言語 | Java (openjdk 23) |
結果 |
MLE
(最新)
AC
(最初)
|
実行時間 | - |
コード長 | 868 bytes |
コンパイル時間 | 2,494 ms |
コンパイル使用メモリ | 82,956 KB |
実行使用メモリ | 70,964 KB |
最終ジャッジ日時 | 2025-01-29 09:36:33 |
合計ジャッジ時間 | 25,506 ms |
ジャッジサーバーID (参考情報) |
judge5 / judge3 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 1 MLE * 22 |
ソースコード
import java.util.Arrays; import java.util.Scanner; public class Main { public static void main(String[] args) { new Main().run(); } public void run() { Scanner sc = new Scanner(System.in); int N = sc.nextInt(); if (!(1 <= N && N <= 3 * 100000)) throw new AssertionError(); long x = 0; for (int i = 0; i < N; ++i) { long K = Long.parseLong(sc.next()); long L = Long.parseLong(sc.next()); long D = Long.parseLong(sc.next()); if (!(K >= 1) || !(0 <= D && D <= 59) || !(0 <= L && L + (K - 1) * (1L << D) <= 1e18)) throw new AssertionError(); x ^= K % 2 * (L & ((1L << D) - 1)); L >>= D; for (long j = L; j <= L + K - 1; ++j) { if (j % 4 == 0) { j = (L + K - 1) / 4 * 4; } x ^= j << D; } } System.out.println(x); } void tr(Object... objects) { System.out.println(Arrays.deepToString(objects)); } }