# |
Submission time |
Handle |
Problem |
Language |
Result |
Execution time |
Memory |
18917 |
2016-02-16T12:35:48 Z |
ggoh |
Robots (IOI13_robots) |
C++ |
|
0 ms |
13328 KB |
#include "robots.h"
#include<set>
#include<algorithm>
int a,b,c,i,p,q,h,o,t;
struct AA{
int x,y;
}data[1000002];
bool cmp(AA aa,AA bb){return aa.x<bb.x;}
std::set<int>s;
std::set<int>::iterator it;
int putaway (int A, int B, int T, int X[], int Y[], int W[], int S[])
{
a=A;b=B;c=T;
std::sort(X,X+a);
std::sort(Y,Y+b);
for(i=0;i<c;i++)
{
if((a==0||W[i]>=X[a-1])&&(b==0||S[i]>=Y[b-1]))
{
return -1;
}
}
q=c;
p=0;
for(i=0;i<c;i++)data[i]={W[i],S[i]};
std::sort(data,data+c,cmp);
while(p!=q-1)
{
h=(p+q)/2;
while(!s.empty()){it=s.begin();s.erase(it);}
o=0;
for(i=0;i<a;i++)
{
while(o<c&&data[o].x<X[i])s.insert(data[o].y),o++;
t=h;
while(t&&(!s.empty()))
{
it=s.end();
it--;
s.erase(it);
t--;
}
}
while(o<c)s.insert(data[o].y),o++;
for(i=0;i<b;i++)
{
t=h;
while(t&&(!s.empty()))
{
it=s.begin();
if((*it)<Y[i])
{
t--;
s.erase(it);
}
else break;
}
}
if(s.empty())q=h;
else p=h;
}
return q;
}
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
0 ms |
13328 KB |
Output is correct |
2 |
Incorrect |
0 ms |
13328 KB |
Output isn't correct |
3 |
Halted |
0 ms |
0 KB |
- |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
0 ms |
13328 KB |
Output is correct |
2 |
Correct |
0 ms |
13328 KB |
Output is correct |
3 |
Incorrect |
0 ms |
13328 KB |
Output isn't correct |
4 |
Halted |
0 ms |
0 KB |
- |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Incorrect |
0 ms |
13328 KB |
Output isn't correct |
2 |
Halted |
0 ms |
0 KB |
- |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Incorrect |
0 ms |
13328 KB |
Output isn't correct |
2 |
Halted |
0 ms |
0 KB |
- |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Incorrect |
0 ms |
13328 KB |
Output isn't correct |
2 |
Halted |
0 ms |
0 KB |
- |