Submission #941524


Source Code Expand


import java.io.PrintWriter;
import java.util.*;

public class Main {
	public static void main(String[] args) {
		new Main().run();
	}

	void run() {
		solver();
	}

	void solver() {
		Scanner sc = new Scanner(System.in);
		PrintWriter pw = new PrintWriter(System.out);
		int n = sc.nextInt();
		int L = sc.nextInt();
		int[] t = new int[n];
		int[] p = new int[n];
		for (int i = 0; i < n; i++) {
			t[i] = sc.nextInt();
			p[i] = sc.nextInt();
		}

		PriorityQueue<Long> pq = new PriorityQueue<>();
		int mid = 0;
		long ret = 0;
		for (int i = 0; i < n;) {
			int j = i;
			while (j < n && t[i] == t[j]) {
				++j;
			}
			for (int k = i; k < j; ++k) {
				pq.add(-((long) p[k] << 32 | k));
				pq.add(-((long) p[k] << 32 | k));
			}
			long c = 0;
			while (pq.size() > j) {
				long polled = -pq.poll();
				if ((int) polled < i && mid >= (polled >>> 32)) {
					++c;
				}
				long next = -pq.peek();
				if (next >>> 32 <= mid) {
					ret += (mid - (next >>> 32)) * c;
					mid = (int) (next >>> 32);
				}
			}
			mid = (int) ((-pq.peek()) >>> 32);
			for (int k = i; k < j; ++k) {
				ret += Math.abs(p[k] - mid);
			}
			i = j;
		}
		pw.println(ret);
		pw.close();
	}

	void tr(Object... objects) {
		System.out.println(Arrays.deepToString(objects));
	}
}

Submission Info

Submission Time
Task E - 花火
User fortoobye
Language Java (OpenJDK 1.7.0)
Score 160
Code Size 1331 Byte
Status AC
Exec Time 1049 ms
Memory 66688 KB

Judge Result

Set Name Sample Subtask1 Subtask2
Score / Max Score 0 / 0 30 / 30 130 / 130
Status
AC × 3
AC × 45
AC × 95
Set Name Test Cases
Sample sample_01.txt, sample_02.txt, sample_03.txt
Subtask1 sample_01.txt, sample_02.txt, sample_03.txt, subtask1_01.txt, subtask1_02.txt, subtask1_03.txt, subtask1_04.txt, subtask1_05.txt, subtask1_06.txt, subtask1_07.txt, subtask1_08.txt, subtask1_09.txt, subtask1_10.txt, subtask1_11.txt, subtask1_12.txt, subtask1_13.txt, subtask1_14.txt, subtask1_15.txt, subtask1_16.txt, subtask1_17.txt, subtask1_18.txt, subtask1_19.txt, subtask1_20.txt, subtask1_21.txt, subtask1_22.txt, subtask1_23.txt, subtask1_24.txt, subtask1_25.txt, subtask1_26.txt, subtask1_27.txt, subtask1_28.txt, subtask1_29.txt, subtask1_30.txt, subtask1_31.txt, subtask1_32.txt, subtask1_33.txt, subtask1_34.txt, subtask1_35.txt, subtask1_36.txt, subtask1_37.txt, subtask1_38.txt, subtask1_39.txt, subtask1_40.txt, subtask1_41.txt, subtask1_42.txt
Subtask2 sample_01.txt, sample_02.txt, sample_03.txt, subtask1_01.txt, subtask1_02.txt, subtask1_03.txt, subtask1_04.txt, subtask1_05.txt, subtask1_06.txt, subtask1_07.txt, subtask1_08.txt, subtask1_09.txt, subtask1_10.txt, subtask1_11.txt, subtask1_12.txt, subtask1_13.txt, subtask1_14.txt, subtask1_15.txt, subtask1_16.txt, subtask1_17.txt, subtask1_18.txt, subtask1_19.txt, subtask1_20.txt, subtask1_21.txt, subtask1_22.txt, subtask1_23.txt, subtask1_24.txt, subtask1_25.txt, subtask1_26.txt, subtask1_27.txt, subtask1_28.txt, subtask1_29.txt, subtask1_30.txt, subtask1_31.txt, subtask1_32.txt, subtask1_33.txt, subtask1_34.txt, subtask1_35.txt, subtask1_36.txt, subtask1_37.txt, subtask1_38.txt, subtask1_39.txt, subtask1_40.txt, subtask1_41.txt, subtask1_42.txt, subtask2_01.txt, subtask2_02.txt, subtask2_03.txt, subtask2_04.txt, subtask2_05.txt, subtask2_06.txt, subtask2_07.txt, subtask2_08.txt, subtask2_09.txt, subtask2_10.txt, subtask2_11.txt, subtask2_12.txt, subtask2_13.txt, subtask2_14.txt, subtask2_15.txt, subtask2_16.txt, subtask2_17.txt, subtask2_18.txt, subtask2_19.txt, subtask2_20.txt, subtask2_21.txt, subtask2_22.txt, subtask2_23.txt, subtask2_24.txt, subtask2_25.txt, subtask2_26.txt, subtask2_27.txt, subtask2_28.txt, subtask2_29.txt, subtask2_30.txt, subtask2_31.txt, subtask2_32.txt, subtask2_33.txt, subtask2_34.txt, subtask2_35.txt, subtask2_36.txt, subtask2_37.txt, subtask2_38.txt, subtask2_39.txt, subtask2_40.txt, subtask2_41.txt, subtask2_42.txt, subtask2_43.txt, subtask2_44.txt, subtask2_45.txt, subtask2_46.txt, subtask2_47.txt, subtask2_48.txt, subtask2_49.txt, subtask2_50.txt
Case Name Status Exec Time Memory
sample_01.txt AC 266 ms 24332 KB
sample_02.txt AC 268 ms 24264 KB
sample_03.txt AC 269 ms 24320 KB
subtask1_01.txt AC 424 ms 30376 KB
subtask1_02.txt AC 420 ms 30456 KB
subtask1_03.txt AC 424 ms 30568 KB
subtask1_04.txt AC 423 ms 30452 KB
subtask1_05.txt AC 427 ms 30572 KB
subtask1_06.txt AC 420 ms 30512 KB
subtask1_07.txt AC 419 ms 30500 KB
subtask1_08.txt AC 428 ms 30400 KB
subtask1_09.txt AC 419 ms 30284 KB
subtask1_10.txt AC 416 ms 30600 KB
subtask1_11.txt AC 416 ms 30360 KB
subtask1_12.txt AC 422 ms 30420 KB
subtask1_13.txt AC 407 ms 29600 KB
subtask1_14.txt AC 407 ms 29460 KB
subtask1_15.txt AC 444 ms 30492 KB
subtask1_16.txt AC 417 ms 30388 KB
subtask1_17.txt AC 422 ms 30424 KB
subtask1_18.txt AC 423 ms 30476 KB
subtask1_19.txt AC 422 ms 30560 KB
subtask1_20.txt AC 425 ms 30656 KB
subtask1_21.txt AC 424 ms 30448 KB
subtask1_22.txt AC 415 ms 30296 KB
subtask1_23.txt AC 427 ms 30664 KB
subtask1_24.txt AC 420 ms 30552 KB
subtask1_25.txt AC 420 ms 30300 KB
subtask1_26.txt AC 421 ms 30440 KB
subtask1_27.txt AC 420 ms 30576 KB
subtask1_28.txt AC 420 ms 30576 KB
subtask1_29.txt AC 411 ms 29628 KB
subtask1_30.txt AC 422 ms 30748 KB
subtask1_31.txt AC 426 ms 30740 KB
subtask1_32.txt AC 414 ms 30536 KB
subtask1_33.txt AC 429 ms 30684 KB
subtask1_34.txt AC 427 ms 30976 KB
subtask1_35.txt AC 426 ms 30392 KB
subtask1_36.txt AC 424 ms 30640 KB
subtask1_37.txt AC 269 ms 24276 KB
subtask1_38.txt AC 280 ms 24284 KB
subtask1_39.txt AC 266 ms 24324 KB
subtask1_40.txt AC 265 ms 24332 KB
subtask1_41.txt AC 271 ms 24320 KB
subtask1_42.txt AC 267 ms 24216 KB
subtask2_01.txt AC 786 ms 64796 KB
subtask2_02.txt AC 789 ms 64964 KB
subtask2_03.txt AC 770 ms 65000 KB
subtask2_04.txt AC 774 ms 65268 KB
subtask2_05.txt AC 761 ms 64656 KB
subtask2_06.txt AC 738 ms 64216 KB
subtask2_07.txt AC 682 ms 50332 KB
subtask2_08.txt AC 649 ms 46040 KB
subtask2_09.txt AC 737 ms 64928 KB
subtask2_10.txt AC 755 ms 64312 KB
subtask2_11.txt AC 747 ms 64632 KB
subtask2_12.txt AC 756 ms 65768 KB
subtask2_13.txt AC 1049 ms 65752 KB
subtask2_14.txt AC 804 ms 65484 KB
subtask2_15.txt AC 770 ms 65172 KB
subtask2_16.txt AC 779 ms 65148 KB
subtask2_17.txt AC 771 ms 65412 KB
subtask2_18.txt AC 768 ms 65524 KB
subtask2_19.txt AC 773 ms 65704 KB
subtask2_20.txt AC 774 ms 65904 KB
subtask2_21.txt AC 748 ms 65604 KB
subtask2_22.txt AC 755 ms 64936 KB
subtask2_23.txt AC 740 ms 65128 KB
subtask2_24.txt AC 770 ms 65076 KB
subtask2_25.txt AC 785 ms 64600 KB
subtask2_26.txt AC 756 ms 65264 KB
subtask2_27.txt AC 761 ms 65392 KB
subtask2_28.txt AC 764 ms 64796 KB
subtask2_29.txt AC 776 ms 65760 KB
subtask2_30.txt AC 761 ms 64656 KB
subtask2_31.txt AC 798 ms 66688 KB
subtask2_32.txt AC 780 ms 64692 KB
subtask2_33.txt AC 755 ms 65340 KB
subtask2_34.txt AC 778 ms 65820 KB
subtask2_35.txt AC 739 ms 64484 KB
subtask2_36.txt AC 776 ms 65868 KB
subtask2_37.txt AC 794 ms 65576 KB
subtask2_38.txt AC 752 ms 64220 KB
subtask2_39.txt AC 802 ms 65292 KB
subtask2_40.txt AC 735 ms 66156 KB
subtask2_41.txt AC 743 ms 64724 KB
subtask2_42.txt AC 746 ms 65032 KB
subtask2_43.txt AC 781 ms 65788 KB
subtask2_44.txt AC 783 ms 65396 KB
subtask2_45.txt AC 772 ms 65120 KB
subtask2_46.txt AC 773 ms 65640 KB
subtask2_47.txt AC 758 ms 64804 KB
subtask2_48.txt AC 269 ms 24340 KB
subtask2_49.txt AC 269 ms 24324 KB
subtask2_50.txt AC 270 ms 24232 KB