# |
Submission time |
Handle |
Problem |
Language |
Result |
Execution time |
Memory |
68159 |
2018-08-16T07:17:11 Z |
Crown |
Robots (IOI13_robots) |
C++14 |
|
2277 ms |
52948 KB |
#include "robots.h"
#include <bits/stdc++.h>
using namespace std;
#define X first
#define Y second
#define pb push_back
typedef pair<int, int> ii;
typedef long long ll;
const int maxn = 5e4+5;
const int maxt = 1e6+5;
int n, m, t;
int x[maxn], y[maxn];
int w[maxt], s[maxt];
vector< ii > vec;
priority_queue<int> pq;
bool works(int lim)
{
while(!pq.empty()) pq.pop();
vector<int> rem;
if(n == 0)
{
for(int i = 0; i< t; i++) rem.pb(vec[i].Y);
}
else
{
int pt = 0;
for(int i = 0; i< n; i++)
{
while(pt< t && vec[pt].X< x[i])
{
pq.push(vec[pt].Y);
pt++;
}
int times = lim;
while(!pq.empty() && times--) pq.pop();
}
while(!pq.empty())
{
rem.pb(pq.top()); pq.pop();
}
while(pt< t) rem.pb(vec[pt++].Y);
}
sort(rem.begin(), rem.end());
int k = rem.size();
int pt = 0, cnt = 0;
for(int i = 0; i< m; i++)
{
while(pt< k && rem[pt]< y[i]) pt++, cnt++;
cnt = max(cnt-lim, 0);
}
while(pt< k) pt++, cnt++;
return cnt == 0;
}
int putaway(int A, int B, int T, int _X[], int _Y[], int _W[], int _S[])
{
for(int i = 0; i< A; i++) x[i] = _X[i];
for(int i = 0; i< B; i++) y[i] = _Y[i];
for(int i = 0; i< T; i++)
{
w[i] = _W[i];
s[i] = _S[i];
}
n = A; m = B; t = T;
for(int i = 0; i< t; i++) vec.pb(ii(w[i], s[i]));
sort(vec.begin(), vec.end());
sort(x, x+n); sort(y, y+m);
int lo = 1, hi = T;
while(lo< hi)
{
int mid = (lo+hi)/2;
if(works(mid)) hi = mid;
else lo = mid+1;
}
if(works(lo)) return lo;
return -1;
}
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
3 ms |
376 KB |
Output is correct |
2 |
Correct |
3 ms |
432 KB |
Output is correct |
3 |
Correct |
3 ms |
432 KB |
Output is correct |
4 |
Correct |
2 ms |
484 KB |
Output is correct |
5 |
Correct |
4 ms |
616 KB |
Output is correct |
6 |
Correct |
2 ms |
616 KB |
Output is correct |
7 |
Correct |
2 ms |
616 KB |
Output is correct |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
2 ms |
752 KB |
Output is correct |
2 |
Correct |
3 ms |
752 KB |
Output is correct |
3 |
Correct |
3 ms |
752 KB |
Output is correct |
4 |
Correct |
1671 ms |
16224 KB |
Output is correct |
5 |
Correct |
2174 ms |
17056 KB |
Output is correct |
6 |
Correct |
49 ms |
17056 KB |
Output is correct |
7 |
Correct |
519 ms |
17056 KB |
Output is correct |
8 |
Correct |
1162 ms |
17056 KB |
Output is correct |
9 |
Correct |
2277 ms |
17056 KB |
Output is correct |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
3 ms |
17056 KB |
Output is correct |
2 |
Correct |
3 ms |
17056 KB |
Output is correct |
3 |
Correct |
2 ms |
17056 KB |
Output is correct |
4 |
Correct |
2 ms |
17056 KB |
Output is correct |
5 |
Correct |
2 ms |
17056 KB |
Output is correct |
6 |
Correct |
2 ms |
17056 KB |
Output is correct |
7 |
Correct |
2 ms |
17056 KB |
Output is correct |
8 |
Correct |
2 ms |
17056 KB |
Output is correct |
9 |
Correct |
3 ms |
17056 KB |
Output is correct |
10 |
Correct |
2 ms |
17056 KB |
Output is correct |
11 |
Correct |
3 ms |
17056 KB |
Output is correct |
12 |
Correct |
3 ms |
17056 KB |
Output is correct |
13 |
Correct |
2 ms |
17056 KB |
Output is correct |
14 |
Correct |
3 ms |
17056 KB |
Output is correct |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
2 ms |
17056 KB |
Output is correct |
2 |
Correct |
3 ms |
17056 KB |
Output is correct |
3 |
Correct |
2 ms |
17056 KB |
Output is correct |
4 |
Correct |
3 ms |
17056 KB |
Output is correct |
5 |
Correct |
3 ms |
17056 KB |
Output is correct |
6 |
Correct |
2 ms |
17056 KB |
Output is correct |
7 |
Correct |
2 ms |
17056 KB |
Output is correct |
8 |
Correct |
2 ms |
17056 KB |
Output is correct |
9 |
Correct |
3 ms |
17056 KB |
Output is correct |
10 |
Correct |
2 ms |
17056 KB |
Output is correct |
11 |
Correct |
2 ms |
17056 KB |
Output is correct |
12 |
Correct |
2 ms |
17056 KB |
Output is correct |
13 |
Correct |
3 ms |
17056 KB |
Output is correct |
14 |
Correct |
2 ms |
17056 KB |
Output is correct |
15 |
Correct |
2 ms |
17056 KB |
Output is correct |
16 |
Correct |
18 ms |
17056 KB |
Output is correct |
17 |
Correct |
21 ms |
17056 KB |
Output is correct |
18 |
Correct |
24 ms |
17056 KB |
Output is correct |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
3 ms |
17056 KB |
Output is correct |
2 |
Correct |
2 ms |
17056 KB |
Output is correct |
3 |
Correct |
2 ms |
17056 KB |
Output is correct |
4 |
Correct |
2 ms |
17056 KB |
Output is correct |
5 |
Correct |
2 ms |
17056 KB |
Output is correct |
6 |
Correct |
3 ms |
17056 KB |
Output is correct |
7 |
Correct |
2 ms |
17056 KB |
Output is correct |
8 |
Correct |
3 ms |
17056 KB |
Output is correct |
9 |
Correct |
3 ms |
17056 KB |
Output is correct |
10 |
Correct |
1591 ms |
17056 KB |
Output is correct |
11 |
Correct |
2055 ms |
17072 KB |
Output is correct |
12 |
Correct |
40 ms |
17072 KB |
Output is correct |
13 |
Correct |
508 ms |
17072 KB |
Output is correct |
14 |
Correct |
1134 ms |
17072 KB |
Output is correct |
15 |
Correct |
2 ms |
17072 KB |
Output is correct |
16 |
Correct |
2 ms |
17072 KB |
Output is correct |
17 |
Correct |
3 ms |
17072 KB |
Output is correct |
18 |
Correct |
2 ms |
17072 KB |
Output is correct |
19 |
Correct |
2 ms |
17072 KB |
Output is correct |
20 |
Correct |
3 ms |
17072 KB |
Output is correct |
21 |
Correct |
17 ms |
17072 KB |
Output is correct |
22 |
Correct |
1277 ms |
17120 KB |
Output is correct |
23 |
Correct |
2074 ms |
17120 KB |
Output is correct |
24 |
Correct |
675 ms |
17120 KB |
Output is correct |
25 |
Correct |
600 ms |
17120 KB |
Output is correct |
26 |
Correct |
574 ms |
29280 KB |
Output is correct |
27 |
Correct |
985 ms |
29532 KB |
Output is correct |
28 |
Correct |
1135 ms |
40772 KB |
Output is correct |
29 |
Correct |
2227 ms |
52948 KB |
Output is correct |