Submission #1311225

#TimeUsernameProblemLanguageResultExecution timeMemory
1311225PlayVoltzTeams (IOI15_teams)C++20
34 / 100
4094 ms29064 KiB
#include "teams.h"
#include <bits/stdc++.h>
using namespace std;

#define pii pair<int,int>
#define mp make_pair
#define pb push_back
#define fi first
#define se second

int n;
vector<vector<int> > vect;

void init(int N, int A[], int B[]){
	n=N;
	vect.resize(n+1);
	for (int i=0; i<n; ++i)vect[A[i]].pb(B[i]);
}

int can(int m, int ord[]){
	sort(ord, ord+m);
	priority_queue<int, vector<int>, greater<int> > pq;
	for (int i=1, p=0; i<=n; ++i){
		for (auto a:vect[i])pq.push(a);
		while (p<m&&ord[p]==i){
			while (pq.size()&&pq.top()<i)pq.pop();
			if (pq.size()<i)return 0;
			for (int j=0; j<i; ++j)pq.pop();
			++p;
		}
	}
	return 1;
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...