제출 #604304

#제출 시각아이디문제언어결과실행 시간메모리
6043048e7팀들 (IOI15_teams)C++17
34 / 100
4059 ms12264 KiB
//Challenge: Accepted
#include <bits/stdc++.h>
using namespace std;
#ifdef zisk
void debug(){cout << endl;}
template<class T, class ... U> void debug(T a, U ... b){cout << a << " ", debug(b...);}
template<class T> void pary(T l, T r){
	while (l != r) cout << *l << " ", l++;
	cout << endl;
}
#else
#define debug(...) 0
#define pary(...) 0
#endif
#define ll long long
#define maxn 500005
#define pii pair<int, int>
#define ff first
#define ss second
#include "teams.h"

pii a[maxn];
int n;
void init(int N, int A[], int B[]) {
	n = N;
	for (int i = 0;i < n;i++) a[i] = {A[i], B[i]};
	sort(a, a + n);
}


int can(int m, int num[]) {
	priority_queue<int, vector<int>, greater<int> > pq;
	int ind = 0;	
	sort(num, num + m);
	for (int i = 0;i < m;i++) {
		while (ind < n && a[ind].ff <= num[i]) pq.push(a[ind++].ss);		
		while (pq.size() && pq.top() < num[i]) pq.pop();
		for (int j = 0;j < num[i];j++) {
			if (pq.size() == 0) return 0;	
			pq.pop();
		}
	}
	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...