Submission #3042171
Source Code Expand
#include <cstdlib> #include <cmath> #include <climits> #include <cfloat> #include <map> #include <utility> #include <set> #include <iostream> #include <memory> #include <string> #include <vector> #include <algorithm> #include <functional> #include <sstream> #include <deque> #include <complex> #include <stack> #include <queue> #include <cstdio> #include <cctype> #include <cstring> #include <ctime> #include <iterator> #include <bitset> #include <numeric> #include <list> #include <iomanip> using namespace std; typedef long long LL; typedef pair<int,int> pii; typedef pair<LL,LL> pll; typedef vector<int> vint; typedef vector<vector<int> > vvint; typedef vector<long long> vll, vLL; typedef vector<vector<long long> > vvll, vvLL; #define VV(T) vector<vector< T > > template <class T> void initvv(vector<vector<T> > &v, int a, int b, const T &t = T()){ v.assign(a, vector<T>(b, t)); } template <class F, class T> void convert(const F &f, T &t){ stringstream ss; ss << f; ss >> t; } #define REP(i,n) for(int i=0;i<int(n);++i) #define ALL(v) (v).begin(),(v).end() #define RALL(v) (v).rbegin(),(v).rend() #define PB push #define MOD 1000000009LL #define EPS 1e-8 int main() { int N; cin >> N; LL H[ N ], S[ N ], finalH[ N ]; REP( i, N ) { cin >> H[ i ] >> S[ i ]; finalH[ i ] = H[ i ] + S[ i ] * ( N - 1 ); } sort( finalH, finalH + N ); int middle; int left = 0; int right = N - 1; bool isOK; while( left <= right ) { middle = ( left + right ) / 2; int deadlines[ N ]; REP( i, N ) deadlines[ i ] = 0; REP( i, N ) { int deadline = ( finalH[ middle ] - H[ i ] ) / S[ i ]; ++deadlines[ deadline ]; } isOK = true; int cursor = 0; REP( i, N ) { if( deadlines[ i ] > 0 ) { int capacity = i - cursor + 1; if( deadlines[ i ] <= capacity ) { cursor += deadlines[ i ]; } else { isOK = false; break; } } } // printf( "left = %d right = %d middle = %d finalH[ middle ] = %lld isOK = %d\n", left, right, middle, finalH[ middle ], isOK ); if( isOK ) { right = middle - 1; } else { left = middle + 1; } } if( ! isOK ) --middle; cout << finalH[ middle ] << endl; return 0; }
Submission Info
Submission Time | |
---|---|
Task | D - 射撃王 |
User | keitanxkeitan |
Language | C++14 (GCC 5.4.1) |
Score | 0 |
Code Size | 2331 Byte |
Status | RE |
Exec Time | 195 ms |
Memory | 2944 KB |
Judge Result
Set Name | Sample | Subtask1 | Subtask2 | ||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Score / Max Score | 0 / 0 | 0 / 30 | 0 / 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 | 1 ms | 256 KB |
subtask0-sample02.txt | AC | 1 ms | 256 KB |
subtask1-01.txt | WA | 1 ms | 256 KB |
subtask1-02.txt | WA | 1 ms | 256 KB |
subtask1-03.txt | RE | 98 ms | 256 KB |
subtask1-04.txt | RE | 99 ms | 256 KB |
subtask1-05.txt | RE | 99 ms | 256 KB |
subtask1-06.txt | RE | 100 ms | 256 KB |
subtask1-07.txt | RE | 100 ms | 256 KB |
subtask1-08.txt | RE | 99 ms | 256 KB |
subtask1-09.txt | RE | 99 ms | 256 KB |
subtask1-10.txt | RE | 100 ms | 256 KB |
subtask1-11.txt | WA | 1 ms | 256 KB |
subtask1-12.txt | RE | 99 ms | 256 KB |
subtask1-13.txt | RE | 100 ms | 256 KB |
subtask1-14.txt | RE | 99 ms | 256 KB |
subtask1-15.txt | RE | 99 ms | 256 KB |
subtask2-01.txt | RE | 99 ms | 256 KB |
subtask2-02.txt | RE | 100 ms | 256 KB |
subtask2-03.txt | RE | 101 ms | 384 KB |
subtask2-04.txt | RE | 115 ms | 768 KB |
subtask2-05.txt | RE | 140 ms | 1536 KB |
subtask2-06.txt | RE | 149 ms | 2432 KB |
subtask2-07.txt | RE | 174 ms | 2688 KB |
subtask2-08.txt | RE | 195 ms | 2944 KB |
subtask2-09.txt | WA | 109 ms | 2944 KB |
subtask2-10.txt | RE | 151 ms | 2944 KB |
subtask2-11.txt | AC | 107 ms | 2944 KB |
subtask2-12.txt | RE | 181 ms | 2944 KB |
subtask2-13.txt | RE | 159 ms | 2944 KB |
subtask2-14.txt | RE | 192 ms | 2944 KB |
subtask2-15.txt | RE | 181 ms | 2944 KB |