Submission #171092

# Submission time Handle Problem Language Result Execution time Memory
171092 2019-12-27T11:08:00 Z dennisstar Robots (IOI13_robots) C++11
100 / 100
1952 ms 24408 KB
#include "robots.h"
#include <bits/stdc++.h>
#define fi first
#define se second
#define ryan bear
#define all(V) ((V).begin()), ((V).end())
using namespace std;
typedef long long ll;
typedef pair<int,int> pii;
typedef pair<ll,ll> pll;
typedef long double ld;
typedef vector<int> vim;
typedef vector<ll> vlm;

vector<pii> ar;
priority_queue<int, vector<int>, less<int> > pq;
int cn1[50010], cn2[50010];


int putaway(int A, int B, int T, int X[], int Y[], int W[], int S[]) {
	sort(X, X+A); sort(Y, Y+B);
	for (int i=0; i<T; i++) ar.push_back({W[i], S[i]});
	sort(all(ar));

	for (int i=0; i<T; i++) if (X[A-1]<=W[i]&&Y[B-1]<=S[i]) return -1;
	int s=0, e=T;
	int x;
	while (s+1<e) {
		ll md=(s+e+1)/2;
		int i, j, k;
		for (i=0, j=0; i<A; i++) {
			for (; X[i]>ar[j].fi&&j<T; j++) pq.push(ar[j].se);
			for (k=0; !pq.empty()&&k<md; k++) pq.pop();
		}
		for (; j<T; j++) pq.push(ar[j].se);
		for (i=B-1; i>=0; i--) {
			for (j=0; !pq.empty()&&j<md&&pq.top()<Y[i]; j++) pq.pop();
		}
		if (!pq.empty()) s=md;
		else e=md;
		while(!pq.empty()) pq.pop();
	}
	return e;
}

Compilation message

robots.cpp: In function 'int putaway(int, int, int, int*, int*, int*, int*)':
robots.cpp:27:6: warning: unused variable 'x' [-Wunused-variable]
  int x;
      ^
# Verdict Execution time Memory Grader output
1 Correct 2 ms 376 KB Output is correct
2 Correct 2 ms 376 KB Output is correct
3 Correct 2 ms 248 KB Output is correct
4 Correct 2 ms 376 KB Output is correct
5 Correct 2 ms 376 KB Output is correct
6 Correct 1 ms 376 KB Output is correct
7 Correct 2 ms 376 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 2 ms 376 KB Output is correct
2 Correct 2 ms 376 KB Output is correct
3 Correct 2 ms 376 KB Output is correct
4 Correct 1433 ms 11840 KB Output is correct
5 Correct 270 ms 8684 KB Output is correct
6 Correct 41 ms 1524 KB Output is correct
7 Correct 440 ms 9308 KB Output is correct
8 Correct 1000 ms 11760 KB Output is correct
9 Correct 1933 ms 12620 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 2 ms 376 KB Output is correct
2 Correct 2 ms 376 KB Output is correct
3 Correct 2 ms 376 KB Output is correct
4 Correct 2 ms 376 KB Output is correct
5 Correct 2 ms 376 KB Output is correct
6 Correct 2 ms 376 KB Output is correct
7 Correct 2 ms 380 KB Output is correct
8 Correct 2 ms 376 KB Output is correct
9 Correct 2 ms 376 KB Output is correct
10 Correct 2 ms 376 KB Output is correct
11 Correct 2 ms 376 KB Output is correct
12 Correct 2 ms 376 KB Output is correct
13 Correct 5 ms 376 KB Output is correct
14 Correct 2 ms 376 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 6 ms 376 KB Output is correct
2 Correct 2 ms 376 KB Output is correct
3 Correct 2 ms 376 KB Output is correct
4 Correct 2 ms 376 KB Output is correct
5 Correct 2 ms 380 KB Output is correct
6 Correct 2 ms 376 KB Output is correct
7 Correct 2 ms 376 KB Output is correct
8 Correct 2 ms 376 KB Output is correct
9 Correct 2 ms 376 KB Output is correct
10 Correct 2 ms 376 KB Output is correct
11 Correct 2 ms 376 KB Output is correct
12 Correct 2 ms 376 KB Output is correct
13 Correct 2 ms 376 KB Output is correct
14 Correct 2 ms 376 KB Output is correct
15 Correct 2 ms 376 KB Output is correct
16 Correct 16 ms 632 KB Output is correct
17 Correct 18 ms 680 KB Output is correct
18 Correct 49 ms 656 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 2 ms 376 KB Output is correct
2 Correct 2 ms 376 KB Output is correct
3 Correct 2 ms 376 KB Output is correct
4 Correct 2 ms 376 KB Output is correct
5 Correct 2 ms 376 KB Output is correct
6 Correct 2 ms 248 KB Output is correct
7 Correct 2 ms 376 KB Output is correct
8 Correct 2 ms 376 KB Output is correct
9 Correct 2 ms 376 KB Output is correct
10 Correct 1451 ms 11856 KB Output is correct
11 Correct 263 ms 8680 KB Output is correct
12 Correct 41 ms 1524 KB Output is correct
13 Correct 452 ms 9316 KB Output is correct
14 Correct 1008 ms 11916 KB Output is correct
15 Correct 2 ms 376 KB Output is correct
16 Correct 2 ms 376 KB Output is correct
17 Correct 2 ms 348 KB Output is correct
18 Correct 2 ms 376 KB Output is correct
19 Correct 2 ms 376 KB Output is correct
20 Correct 2 ms 376 KB Output is correct
21 Correct 16 ms 632 KB Output is correct
22 Correct 1952 ms 12420 KB Output is correct
23 Correct 1920 ms 12324 KB Output is correct
24 Correct 615 ms 12136 KB Output is correct
25 Correct 561 ms 20700 KB Output is correct
26 Correct 855 ms 24408 KB Output is correct
27 Correct 807 ms 23080 KB Output is correct
28 Correct 950 ms 23136 KB Output is correct
29 Correct 1947 ms 23772 KB Output is correct