Submission #1284634

#TimeUsernameProblemLanguageResultExecution timeMemory
1284634kustov_vadim_533Teams (IOI15_teams)C++20
34 / 100
4091 ms31584 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>

#include "teams.h"

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 <= K[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...