# |
Submission time |
Handle |
Problem |
Language |
Result |
Execution time |
Memory |
2341 |
2013-07-21T03:39:27 Z |
kriii |
Robots (IOI13_robots) |
C++ |
|
3000 ms |
5220 KB |
#include "robots.h"
#include <vector>
#include <algorithm>
#include <queue>
using namespace std;
vector<pair<int,int> > U;
priority_queue<int> H;
vector<int> P,Q;
bool chk(int v)
{
int i,j,c;
for (i=j=0;i<P.size();i++){
while (j < U.size() && U[j].first < P[i]){
H.push(U[j].second); j++;
}
c = v;
while (c > 0 && !H.empty()){
H.pop(); c--;
}
}
for (;j<U.size();j++) H.push(U[j].second);
for (i=0;i<Q.size();i++){
c = v;
while (c > 0 && !H.empty()){
if (H.top() >= Q[i]) return false;
H.pop(); c--;
}
if (H.empty()) return true;
}
return false;
}
int putaway(int A, int B, int T, int X[], int Y[], int W[], int S[]) {
int i;
for (i=0;i<A;i++) P.push_back(X[i]);
sort(P.begin(),P.end());
for (i=0;i<B;i++) Q.push_back(Y[i]);
sort(Q.rbegin(),Q.rend());
for (i=0;i<T;i++){
U.push_back(make_pair(W[i],S[i]));
if (W[i] >= P[A-1] && S[i] >= Q[0]) return -1;
}
sort(U.begin(),U.end());
int l = 1, r = T, m = 1;
while (l < r){
m = (l + r) / 2;
if (chk(m)) r = m - 1;
else l = m + 1;
}
while (chk(m)) m--;
while (!chk(m)) m++;
return m;
}
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
0 ms |
5220 KB |
Output is correct |
2 |
Runtime error |
0 ms |
5216 KB |
SIGSEGV Segmentation fault |
3 |
Halted |
0 ms |
0 KB |
- |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Execution timed out |
3000 ms |
0 KB |
Program timed out |
2 |
Halted |
0 ms |
0 KB |
- |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
0 ms |
5220 KB |
Output is correct |
2 |
Correct |
0 ms |
5220 KB |
Output is correct |
3 |
Correct |
0 ms |
5220 KB |
Output is correct |
4 |
Runtime error |
0 ms |
5216 KB |
SIGSEGV Segmentation fault |
5 |
Halted |
0 ms |
0 KB |
- |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
0 ms |
5220 KB |
Output is correct |
2 |
Correct |
0 ms |
5220 KB |
Output is correct |
3 |
Correct |
0 ms |
5220 KB |
Output is correct |
4 |
Runtime error |
0 ms |
5216 KB |
SIGSEGV Segmentation fault |
5 |
Halted |
0 ms |
0 KB |
- |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
0 ms |
5220 KB |
Output is correct |
2 |
Correct |
0 ms |
5220 KB |
Output is correct |
3 |
Correct |
0 ms |
5220 KB |
Output is correct |
4 |
Runtime error |
0 ms |
5216 KB |
SIGSEGV Segmentation fault |
5 |
Halted |
0 ms |
0 KB |
- |