Please sign in first.
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 |
|
|
|
| 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 |