Submission #401373
Source Code Expand
#include<iostream> #include<fstream> #include<sstream> #include<string> #include<cstdio> #include<cstdlib> #include<cstring> #include<ctime> #include<stack> #include<queue> #include<set> #include<map> #include<vector> #include<list> #include<algorithm> #include<utility> #include<complex> #include<functional> using namespace std; #define input_init stringstream ss; string strtoken, token; istringstream is #define input_line getline(cin, strtoken);is.str(strtoken);is.clear(istringstream::goodbit) #define input_token(num) ss.str(""); ss.clear(stringstream::goodbit); getline(is, token, ','); ss << token; ss >> num #define LL long long LL H[100000], S[100000]; int cnt[100000]; LL N; inline bool check(LL h){ for (int i = 0; i < N; i++){ cnt[i] = 0; } for (int i = 0; i < N; i++){ if (h < H[i])return false; cnt[min(N-1,(h - H[i]) / S[i])]++; } for (LL i = N - 1; i >= 1; i--){ if (cnt[i] == 0)return false; cnt[i - 1] += cnt[i] - 1; } return true; } int main(void){ cin >> N; for (LL i = 0; i < N; i++){ cin >> H[i] >> S[i]; } LL h, l=0; h = (LL)1e9; h *= (LL)1e9; while (h - l > 1){ LL m = (h + l) / 2; if (check(m))h = m; else l = m; // cout << m << endl; } cout << h << endl; return(0); }
Submission Info
Submission Time | |
---|---|
Task | D - 射撃王 |
User | btk15049 |
Language | C++11 (GCC 4.9.2) |
Score | 100 |
Code Size | 1302 Byte |
Status | AC |
Exec Time | 313 ms |
Memory | 2736 KB |
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 | 27 ms | 920 KB |
subtask0-sample02.txt | AC | 25 ms | 920 KB |
subtask1-01.txt | AC | 26 ms | 836 KB |
subtask1-02.txt | AC | 26 ms | 800 KB |
subtask1-03.txt | AC | 26 ms | 928 KB |
subtask1-04.txt | AC | 26 ms | 920 KB |
subtask1-05.txt | AC | 27 ms | 924 KB |
subtask1-06.txt | AC | 25 ms | 800 KB |
subtask1-07.txt | AC | 25 ms | 804 KB |
subtask1-08.txt | AC | 25 ms | 932 KB |
subtask1-09.txt | AC | 24 ms | 928 KB |
subtask1-10.txt | AC | 25 ms | 808 KB |
subtask1-11.txt | AC | 25 ms | 928 KB |
subtask1-12.txt | AC | 23 ms | 928 KB |
subtask1-13.txt | AC | 23 ms | 804 KB |
subtask1-14.txt | AC | 25 ms | 812 KB |
subtask1-15.txt | AC | 25 ms | 804 KB |
subtask2-01.txt | AC | 25 ms | 928 KB |
subtask2-02.txt | AC | 29 ms | 848 KB |
subtask2-03.txt | AC | 31 ms | 932 KB |
subtask2-04.txt | AC | 79 ms | 1120 KB |
subtask2-05.txt | AC | 162 ms | 1704 KB |
subtask2-06.txt | AC | 215 ms | 2336 KB |
subtask2-07.txt | AC | 279 ms | 2460 KB |
subtask2-08.txt | AC | 310 ms | 2736 KB |
subtask2-09.txt | AC | 313 ms | 2732 KB |
subtask2-10.txt | AC | 237 ms | 2724 KB |
subtask2-11.txt | AC | 297 ms | 2728 KB |
subtask2-12.txt | AC | 304 ms | 2724 KB |
subtask2-13.txt | AC | 264 ms | 2720 KB |
subtask2-14.txt | AC | 305 ms | 2732 KB |
subtask2-15.txt | AC | 305 ms | 2716 KB |