Submission #58464


Source Code Expand

import java.util.Arrays;
import java.util.Scanner;

public class Main {

	static Scanner sc = new Scanner(System.in);
	static int N;
	static int[] a, b;
	static long sum;

	public static void main(String[] args) {
		long start = System.currentTimeMillis();
		N = sc.nextInt();
		a = new int[N];
		b = new int[N];
		long max = 0;
		for (int i = 0; i < N; ++i) {
			a[i] = sc.nextInt();
			b[i] = sc.nextInt();
			sum += a[i];
		}
		for (int i = 0; i < N; ++i) {
			max = Math.max(max, (sum * (b[i] + 1) + sum - 1) / a[i]);
		}
		long ans = max;
		for (long i = max; i >= 0 && System.currentTimeMillis() - start < 1200; --i) {
			if (possible(i)) {
				ans = i;
			}
		}
		System.out.println(ans);
	}

	static boolean possible(long m) {
		long[] count = new long[N];
		long all = 0;
		St[] rem = new St[N];
		boolean ok = true;
		for (int i = 0; i < N; ++i) {
			count[i] = a[i] * m / sum;
			all += count[i];
			rem[i] = new St(a[i] * m - count[i] * sum, i);
			if (count[i] < b[i]) ok = false;
		}
		if (ok) return true;
		Arrays.sort(rem);
		for (int i = 0; i < Math.min(m - all, N); ++i) {
			++count[rem[i].i];
		}
		//		System.out.println(m + " " + Arrays.toString(count) + " " + all);
		for (int i = 0; i < N; ++i) {
			if (count[i] < b[i]) return false;
		}
		return true;
	}

	static class St implements Comparable<St> {
		long c;
		int i;

		St(long c, int i) {
			this.c = c;
			this.i = i;
		}

		public int compareTo(St o) {
			if (this.c == o.c) return this.i - o.i;
			if (this.c > o.c) return -1;
			return 1;
		}
	}

}

Submission Info

Submission Time
Task E - 選挙
User tomerun
Language Java (OpenJDK 1.7.0)
Score 50
Code Size 1607 Byte
Status WA
Exec Time 1813 ms
Memory 63716 KB

Judge Result

Set Name Bubunten All
Score / Max Score 50 / 50 0 / 150
Status
AC × 29
AC × 69
WA × 23
Set Name Test Cases
Bubunten small01.txt, small02.txt, small03.txt, small04.txt, small05.txt, small06.txt, small07.txt, small08.txt, small09.txt, small10.txt, small11.txt, small12.txt, small13.txt, small14.txt, small15.txt, small16.txt, small17.txt, small18.txt, small19.txt, small20.txt, small21.txt, small22.txt, small23.txt, small24.txt, small25.txt, sample1.txt, sample2.txt, sample3.txt, 20_minimal.txt
All 01.txt, 02.txt, 03.txt, 04.txt, 05.txt, 06.txt, 07.txt, 08.txt, 09.txt, 10.txt, 11.txt, 12.txt, 13.txt, 14.txt, 15.txt, 16.txt, 17.txt, 18.txt, 19.txt, 20.txt, 20_minimal.txt, 21.txt, 22.txt, 23.txt, 24.txt, 25.txt, 26.txt, 27.txt, 28.txt, 29.txt, 30.txt, 31.txt, 32.txt, 33.txt, 34.txt, 35.txt, 36.txt, 37.txt, 38.txt, 39.txt, 40.txt, 41.txt, 42.txt, 43.txt, 44.txt, 45.txt, 46.txt, 47.txt, 48.txt, 49.txt, 50.txt, 51.txt, 52.txt, 53.txt, 54.txt, 55.txt, 56.txt, 57.txt, 58.txt, 59.txt, 60.txt, dekai1.txt, dekai2.txt, small01.txt, small02.txt, small03.txt, small04.txt, small05.txt, small06.txt, small07.txt, small08.txt, small09.txt, small10.txt, small11.txt, small12.txt, small13.txt, small14.txt, small15.txt, small16.txt, small17.txt, small18.txt, small19.txt, small20.txt, small21.txt, small22.txt, small23.txt, small24.txt, small25.txt, yabame1.txt, yabame2.txt, yabame3.txt, yabame4.txt
Case Name Status Exec Time Memory
01.txt AC 1644 ms 61568 KB
02.txt WA 1624 ms 61740 KB
03.txt AC 1628 ms 63524 KB
04.txt AC 1636 ms 61560 KB
05.txt WA 1697 ms 63292 KB
06.txt AC 1633 ms 61528 KB
07.txt AC 1627 ms 62024 KB
08.txt WA 1752 ms 61488 KB
09.txt WA 1749 ms 61236 KB
10.txt AC 1634 ms 61484 KB
11.txt AC 1641 ms 61580 KB
12.txt AC 1635 ms 61552 KB
13.txt AC 1634 ms 61468 KB
14.txt AC 1647 ms 61880 KB
15.txt AC 1648 ms 61556 KB
16.txt AC 1644 ms 61620 KB
17.txt WA 1646 ms 63168 KB
18.txt AC 1642 ms 61492 KB
19.txt AC 1662 ms 61464 KB
20.txt AC 1654 ms 61880 KB
20_minimal.txt AC 463 ms 20128 KB
21.txt AC 1699 ms 63324 KB
22.txt WA 1650 ms 63716 KB
23.txt WA 1735 ms 58232 KB
24.txt AC 1652 ms 61660 KB
25.txt AC 1720 ms 61464 KB
26.txt AC 1646 ms 61464 KB
27.txt AC 1650 ms 60780 KB
28.txt AC 1653 ms 61456 KB
29.txt AC 1785 ms 61572 KB
30.txt AC 1662 ms 61504 KB
31.txt AC 1650 ms 61876 KB
32.txt AC 1667 ms 60924 KB
33.txt AC 1655 ms 61440 KB
34.txt AC 1655 ms 61668 KB
35.txt AC 1658 ms 61776 KB
36.txt AC 1640 ms 61644 KB
37.txt AC 1661 ms 60888 KB
38.txt AC 1651 ms 62176 KB
39.txt AC 1681 ms 61544 KB
40.txt AC 1648 ms 61600 KB
41.txt AC 1742 ms 62856 KB
42.txt AC 1659 ms 61588 KB
43.txt AC 1674 ms 31816 KB
44.txt AC 1650 ms 61584 KB
45.txt AC 1647 ms 61348 KB
46.txt AC 1656 ms 61024 KB
47.txt AC 1662 ms 62636 KB
48.txt AC 1647 ms 33244 KB
49.txt AC 1715 ms 61640 KB
50.txt AC 1648 ms 61400 KB
51.txt WA 1671 ms 58608 KB
52.txt WA 1662 ms 58512 KB
53.txt WA 1664 ms 61092 KB
54.txt WA 1665 ms 60952 KB
55.txt WA 1689 ms 61424 KB
56.txt WA 1658 ms 59624 KB
57.txt WA 1744 ms 60948 KB
58.txt WA 1705 ms 61748 KB
59.txt WA 1715 ms 61724 KB
60.txt WA 1670 ms 57976 KB
dekai1.txt WA 1663 ms 42148 KB
dekai2.txt WA 1680 ms 44644 KB
sample1.txt AC 461 ms 20152 KB
sample2.txt AC 453 ms 20208 KB
sample3.txt AC 446 ms 20276 KB
small01.txt AC 1558 ms 61148 KB
small02.txt AC 524 ms 27608 KB
small03.txt AC 505 ms 26508 KB
small04.txt AC 528 ms 31012 KB
small05.txt AC 446 ms 20156 KB
small06.txt AC 537 ms 30636 KB
small07.txt AC 480 ms 24760 KB
small08.txt AC 1519 ms 60668 KB
small09.txt AC 1472 ms 61188 KB
small10.txt AC 743 ms 42596 KB
small11.txt AC 1666 ms 60752 KB
small12.txt AC 530 ms 25872 KB
small13.txt AC 1734 ms 63144 KB
small14.txt AC 511 ms 21412 KB
small15.txt AC 1643 ms 61916 KB
small16.txt AC 584 ms 33632 KB
small17.txt AC 440 ms 20272 KB
small18.txt AC 649 ms 36792 KB
small19.txt AC 516 ms 24428 KB
small20.txt AC 621 ms 36396 KB
small21.txt AC 955 ms 55112 KB
small22.txt AC 727 ms 46228 KB
small23.txt AC 580 ms 31040 KB
small24.txt AC 495 ms 20892 KB
small25.txt AC 656 ms 36768 KB
yabame1.txt WA 1680 ms 52772 KB
yabame2.txt WA 1698 ms 52904 KB
yabame3.txt WA 1813 ms 52884 KB
yabame4.txt WA 1720 ms 53108 KB