Submission #3042243
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 LL H[ 100010 ]; LL S[ 100010 ]; LL finalH[ 100010 ]; int deadlines[ 100010 ]; int main() { int N; cin >> 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; REP( i, N ) deadlines[ i ] = 0; isOK = true; REP( i, N ) { int deadline = ( finalH[ middle ] - H[ i ] ) / S[ i ]; if( ( finalH[ middle ] - H[ i ] ) < 0 ) { isOK = false; break; } ++deadlines[ deadline ]; } if( ! isOK ) { left = middle + 1; continue; } 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; } } } if( isOK ) { right = middle - 1; } else { left = middle + 1; } } 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 | 2370 Byte |
Status | RE |
Exec Time | 179 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 | WA | 1 ms | 256 KB |
subtask1-04.txt | WA | 1 ms | 256 KB |
subtask1-05.txt | WA | 1 ms | 256 KB |
subtask1-06.txt | WA | 1 ms | 384 KB |
subtask1-07.txt | WA | 1 ms | 256 KB |
subtask1-08.txt | WA | 1 ms | 256 KB |
subtask1-09.txt | WA | 1 ms | 256 KB |
subtask1-10.txt | WA | 1 ms | 256 KB |
subtask1-11.txt | WA | 1 ms | 256 KB |
subtask1-12.txt | WA | 1 ms | 384 KB |
subtask1-13.txt | WA | 1 ms | 256 KB |
subtask1-14.txt | WA | 1 ms | 256 KB |
subtask1-15.txt | WA | 1 ms | 256 KB |
subtask2-01.txt | WA | 2 ms | 384 KB |
subtask2-02.txt | RE | 97 ms | 512 KB |
subtask2-03.txt | RE | 98 ms | 384 KB |
subtask2-04.txt | RE | 112 ms | 896 KB |
subtask2-05.txt | RE | 137 ms | 1664 KB |
subtask2-06.txt | RE | 150 ms | 2560 KB |
subtask2-07.txt | RE | 171 ms | 2688 KB |
subtask2-08.txt | RE | 179 ms | 2944 KB |
subtask2-09.txt | WA | 109 ms | 2944 KB |
subtask2-10.txt | RE | 151 ms | 2944 KB |
subtask2-11.txt | AC | 108 ms | 2944 KB |
subtask2-12.txt | RE | 179 ms | 2944 KB |
subtask2-13.txt | RE | 157 ms | 2944 KB |
subtask2-14.txt | RE | 179 ms | 2944 KB |
subtask2-15.txt | RE | 179 ms | 2944 KB |