#include <bits/stdc++.h>
#include "teams.h"
using namespace std;
int N;
int *A, *B;
void init(int n, int *a, int *b) {
N = n;
A = new int[n];
B = new int[n];
for (int i = 0; i < n; ++i) {
A[i] = a[i];
B[i] = b[i];
}
}
int can(int m, int *K) {
vector<int> kList(K, K + m);
sort(kList.begin(), kList.end(), greater<int>());
vector<bool> assigned(N, false);
int sum = 0;
for (int i = 0; i < m; ++i) sum += K[i];
if (sum > N) return 0;
for (int k : kList) {
int count = 0;
for (int i = 0; i < N; ++i) {
if (!assigned[i] && A[i] <= k && k <= B[i]) {
count++;
}
}
if (count < k) return 0;
int needed = k;
for (int i = 0; i < N && needed > 0; ++i) {
if (!assigned[i] && A[i] <= k && k <= B[i]) {
assigned[i] = true;
needed--;
}
}
}
return 1;
}
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |