Submission #30844982


Source Code Expand

n = int(input())
h = [0] * n
s = [0] * n
for i in range(n):
    h[i], s[i] = map(int, input().split())
ok = 10 ** 14 # どんな順番でもスコアは max{h} + n max{s} 以下
ng = -1
while ok - ng > 1: # log_2(max{h} + n max{s}) 回実行される
    m = (ok + ng) // 2
    t = [0] * n # 風船 i は 時刻 t[i] までに割らなければならない
    for i in range(n):
        if m < h[i]: # 負の数の割り算を避ける
            t[i] = -1
        else:
            t[i] = (m - h[i]) // s[i]
    t = sorted(t) # 締め切りが早い方から割るために O(n log n) でソート
    is_ok = 1
    for i in range(n):
        if t[i] < i: # 時刻 i に割る風船の締め切り時刻 t[i] をチェック
            is_ok = 0
    if is_ok == 1:
        ok = m
    else:
        ng = m
print(ok)

Submission Info

Submission Time
Task D - 射撃王
User Pro_ktmr
Language PyPy3 (7.3.0)
Score 100
Code Size 842 Byte
Status AC
Exec Time 843 ms
Memory 124588 KiB

Judge Result

Set Name Sample Subtask1 Subtask2
Score / Max Score 0 / 0 30 / 30 70 / 70
Status
AC × 2
AC × 17
AC × 32
Set Name Test Cases
Sample subtask0-sample01.txt, subtask0-sample02.txt
Subtask1 subtask0-sample01.txt, subtask0-sample02.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
Subtask2 subtask0-sample01.txt, subtask0-sample02.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, 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
Case Name Status Exec Time Memory
subtask0-sample01.txt AC 64 ms 61824 KiB
subtask0-sample02.txt AC 53 ms 61988 KiB
subtask1-01.txt AC 49 ms 61944 KiB
subtask1-02.txt AC 53 ms 61900 KiB
subtask1-03.txt AC 52 ms 62220 KiB
subtask1-04.txt AC 58 ms 64364 KiB
subtask1-05.txt AC 55 ms 65924 KiB
subtask1-06.txt AC 52 ms 64344 KiB
subtask1-07.txt AC 53 ms 64584 KiB
subtask1-08.txt AC 54 ms 64880 KiB
subtask1-09.txt AC 55 ms 64884 KiB
subtask1-10.txt AC 55 ms 64876 KiB
subtask1-11.txt AC 60 ms 64620 KiB
subtask1-12.txt AC 55 ms 64888 KiB
subtask1-13.txt AC 57 ms 64720 KiB
subtask1-14.txt AC 55 ms 64708 KiB
subtask1-15.txt AC 55 ms 64852 KiB
subtask2-01.txt AC 64 ms 68596 KiB
subtask2-02.txt AC 102 ms 74664 KiB
subtask2-03.txt AC 115 ms 74700 KiB
subtask2-04.txt AC 232 ms 83008 KiB
subtask2-05.txt AC 453 ms 88660 KiB
subtask2-06.txt AC 661 ms 96184 KiB
subtask2-07.txt AC 767 ms 98172 KiB
subtask2-08.txt AC 843 ms 103300 KiB
subtask2-09.txt AC 829 ms 103308 KiB
subtask2-10.txt AC 804 ms 103232 KiB
subtask2-11.txt AC 341 ms 124588 KiB
subtask2-12.txt AC 830 ms 103180 KiB
subtask2-13.txt AC 824 ms 103280 KiB
subtask2-14.txt AC 831 ms 103184 KiB
subtask2-15.txt AC 825 ms 103548 KiB