#include "teams.h"
#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
typedef long double ld;
#define sp <<" "<<
#define endl "\n"
int n;
vector<int> a, b, o;
void init(int N, int A[], int B[]) {
n = N;
a.resize(n), b.resize(n), o.resize(n);
for (int i = 0; i < n; i++) {
a[i] = A[i], b[i] = B[i];
}
iota(o.begin(), o.end(), 0);
sort(o.begin(), o.end(), [&](int i, int j) {
return a[i] < a[j];
});
}
int can(int M, int K[]) {
int m = M;
vector<int> k(m);
ll sum = 0;
for (int i = 0; i < m; i++) {
k[i] = K[i];
sum += k[i];
}
if (sum > n) return 0;
sort(k.begin(), k.end());
priority_queue<int, vector<int>, greater<int>> pq;
int l = 0, r = 0;
for (int i = 0; i < M; i++) {
while (r < n and a[o[r]] <= k[i]) r++;
for (int j = l; j < r; j++) {
pq.emplace(b[o[j]]);
}
l = r;
for (int j = 0; j < k[i]; j++) {
if (pq.empty()) return 0;
pq.pop();
}
}
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... |