Submission #2344

# Submission time Handle Problem Language Result Execution time Memory
2344 2013-07-21T03:43:14 Z kriii Robots (IOI13_robots) C++
0 / 100
0 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()) break;
	}

	return H.empty();
}

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 Correct 0 ms 5220 KB Output is correct
2 Incorrect 0 ms 5220 KB Output isn't correct
3 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 -