結果

問題 No.814 ジジ抜き
ユーザー 37zigen
提出日時 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
権限があれば一括ダウンロードができます

ソースコード

diff #

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));
	}
}
0