Submission #26445

# Submission time Handle Problem Language Result Execution time Memory
26445 2017-06-30T16:04:24 Z Bruteforceman Robots (IOI13_robots) C++11
0 / 100
1833 ms 26116 KB
#include "robots.h"
#include "bits/stdc++.h"
using namespace std;
typedef pair <int, int> data;
data rob[1000010];
int weak[1000010];
int small[1000010];
int a, b;
int t;

bool good(int x) {
	priority_queue <int> Q;
	int pointer = 0;
	for(int i = 0; i < a; i++) {
		int cap = weak[i];
		int take = 0;
		while(pointer < t && rob[pointer].first < cap) {	
			Q.push(rob[pointer].second);
			++pointer;	
		}
		while(take < x && !Q.empty()) {
			Q.pop();
			++take;
		}
	}
	for(int i = pointer; i < t; i++) {
		Q.push(rob[i].second);
	}
	vector <int> v;
	while(!Q.empty()) {
		v.push_back(Q.top());
		Q.pop();
	}	
	reverse(v.begin(), v.end());
	int size = v.size();
	pointer = 0;
	for(int i = 0; i < b; i++) {
		int cap = small[i];
		int take = 0;
		while(take < x && pointer < size && v[pointer] < cap) {
			++pointer;
			++take;
		}
	}
	return (pointer >= size);
}

int search(int b, int e) {
	if(b == e) {
		return b;
	}
	int m = (b + e) >> 1;
	if(good(m)) {
		return search(b, m);
	} else {
		return search(m + 1, e);
	}
}

int putaway(int A, int B, int T, int X[], int Y[], int W[], int S[]) {
	a = A;
	b = B;
	t = T;
	for(int i = 0; i < a; i++) {
		weak[i] = X[i];
	}
	for(int i = 0; i < b; i++) {
		small[i] = Y[i];
	}
	for(int i = 0; i < t; i++) {
		rob[i] = make_pair(W[i], S[i]);
	}
	sort(weak, weak + a);
	sort(small, small + b);
	sort(rob, rob + t);
	/*
	for(int i = 0; i < t; i++) {
		cout << rob[i].first << " " << rob[i].second << endl;
	} 
	for(int i = 0; i < a; i++) {
		cout << weak[i] << " ";
	}
	cout << endl;
	for(int i = 0; i < b; i++) {
		cout << small[i] << " ";
	}
	cout << endl;
	cout << good(2) << endl;
	*/
    return search(1, t);
}
# Verdict Execution time Memory Grader output
1 Incorrect 0 ms 21944 KB Output isn't correct
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 0 ms 21944 KB Output is correct
2 Correct 0 ms 21944 KB Output is correct
3 Correct 0 ms 21944 KB Output is correct
4 Correct 1349 ms 26116 KB Output is correct
5 Incorrect 1833 ms 26116 KB Output isn't correct
6 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 0 ms 21944 KB Output is correct
2 Incorrect 0 ms 21944 KB Output isn't correct
3 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 0 ms 21944 KB Output is correct
2 Incorrect 0 ms 21944 KB Output isn't correct
3 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 0 ms 21944 KB Output is correct
2 Incorrect 0 ms 21944 KB Output isn't correct
3 Halted 0 ms 0 KB -