제출 #1284630

#제출 시각아이디문제언어결과실행 시간메모리
1284630kustov_vadim_533팀들 (IOI15_teams)C++20
0 / 100
81 ms14872 KiB
#include <iostream>
#include <algorithm>
#include <math.h>
#include <vector>
#include <set>
#include <queue>
#include <array>
#include <map>
#include <random>
#include <bitset>
#include <stack>
#include <deque>
#include <random>
#include <unordered_set>
#include <unordered_map>
#include <string>

using namespace std;

typedef long long ll;

vector<pair<int, int>> a;

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

	sort(a.begin(), a.end());
}

int can(int M, int K[]) {
	sort(K, K + M);

	multiset<int> s;
	
	int l = 0;
	for (int i = 0; i < M; ++i) {
		while (l < a.size() && a[l].first < i) {
			s.insert(a[l].second);
			++l;
		}

		int t = K[i];
		while (t > 0 && s.lower_bound(K[i]) != s.end()) {
			s.erase(s.lower_bound(K[i]));
			--t;
		}

		if (t > 0) return 0;
	}
	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...