Submission #1948114
Source Code Expand
#include <map> #include <set> #include <cmath> #include <queue> #include <string> #include <vector> #include <iomanip> #include <iostream> #include <algorithm> #include <functional> using namespace std; int N, H, a[100009], b[100009], p[200009]; int main() { cin >> N >> H; for (int i = 0; i < N; i++) cin >> a[i] >> b[i]; for (int i = 0; i < 2 * N; i++) p[i] = i; sort(p, p + 2 * N, [](int i, int j) { int vala = (i < N ? a[i] : b[i - N]); int valb = (j < N ? a[j] : b[j - N]); if (vala != valb) return vala > valb; return i < j; }); int cnt = 0; for (int i = 0; i < 2 * N && H > 0; i++) { if (p[i] >= N) cnt++, H -= b[p[i] - N]; else { cnt += (H + a[p[i]] - 1) / a[p[i]]; H = 0; } } cout << cnt << endl; return 0; }
Submission Info
Submission Time | |
---|---|
Task | D - Katana Thrower |
User | square1001 |
Language | C++14 (GCC 5.4.1) |
Score | 400 |
Code Size | 779 Byte |
Status | AC |
Exec Time | 125 ms |
Memory | 1792 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 | 1 ms | 256 KB |
a02 | AC | 1 ms | 256 KB |
a03 | AC | 1 ms | 256 KB |
a04 | AC | 1 ms | 256 KB |
b05 | AC | 1 ms | 256 KB |
b06 | AC | 125 ms | 1792 KB |
b07 | AC | 1 ms | 256 KB |
b08 | AC | 125 ms | 1792 KB |
b09 | AC | 1 ms | 256 KB |
b10 | AC | 1 ms | 256 KB |
b11 | AC | 1 ms | 256 KB |
b12 | AC | 1 ms | 256 KB |
b13 | AC | 43 ms | 1792 KB |
b14 | AC | 43 ms | 1792 KB |
b15 | AC | 45 ms | 1792 KB |
b16 | AC | 45 ms | 1792 KB |
b17 | AC | 96 ms | 1792 KB |
b18 | AC | 84 ms | 1792 KB |
b19 | AC | 68 ms | 1792 KB |
b20 | AC | 77 ms | 1792 KB |
b21 | AC | 80 ms | 1792 KB |
b22 | AC | 90 ms | 1792 KB |
b23 | AC | 1 ms | 256 KB |
b24 | AC | 3 ms | 256 KB |