Submission #6978028
Source Code Expand
import math N, H = map(int, input().split()) a = [0] * N b = [0] * N for i in range(N): a[i], b[i] = map(int, input().split()) def ceil(s, t): if s%t == 0: return s//t else: return s//t + 1 x = max(a) b_list= [] for i in range(N): if b[i] > x : b_list.append(b[i]) y = sum(b_list) b_list.sort(reverse=True) ans = 0 for i in b_list: H -= i ans += 1 if H > 0: pass elif H == 0: break elif H < 0: break if H > 0: ans += ceil(H, x) print(ans)
Submission Info
Submission Time | |
---|---|
Task | D - Katana Thrower |
User | shoheihoh |
Language | Python (3.4.3) |
Score | 400 |
Code Size | 576 Byte |
Status | AC |
Exec Time | 364 ms |
Memory | 12140 KB |
Judge Result
Set Name | Sample | All | ||||
---|---|---|---|---|---|---|
Score / Max Score | 0 / 0 | 400 / 400 | ||||
Status |
|
|
Set Name | Test Cases |
---|---|
Sample | a01, a02, a03, a04 |
All | a01, a02, a03, a04, b05, b06, b07, b08, b09, b10, b11, b12, b13, b14, b15, b16, b17, b18, b19, b20, b21, b22, b23, b24 |
Case Name | Status | Exec Time | Memory |
---|---|---|---|
a01 | AC | 17 ms | 3064 KB |
a02 | AC | 17 ms | 3064 KB |
a03 | AC | 17 ms | 3064 KB |
a04 | AC | 17 ms | 3064 KB |
b05 | AC | 17 ms | 3064 KB |
b06 | AC | 301 ms | 10868 KB |
b07 | AC | 17 ms | 3064 KB |
b08 | AC | 296 ms | 10868 KB |
b09 | AC | 17 ms | 3064 KB |
b10 | AC | 17 ms | 3064 KB |
b11 | AC | 17 ms | 3064 KB |
b12 | AC | 17 ms | 3064 KB |
b13 | AC | 306 ms | 5552 KB |
b14 | AC | 307 ms | 5552 KB |
b15 | AC | 271 ms | 4596 KB |
b16 | AC | 278 ms | 4596 KB |
b17 | AC | 295 ms | 10484 KB |
b18 | AC | 285 ms | 8288 KB |
b19 | AC | 326 ms | 5880 KB |
b20 | AC | 313 ms | 5540 KB |
b21 | AC | 338 ms | 8820 KB |
b22 | AC | 364 ms | 12140 KB |
b23 | AC | 17 ms | 3064 KB |
b24 | AC | 24 ms | 3188 KB |