#include "teams.h"
#include <bits/stdc++.h>
using namespace std;
using ll = long long;
using vll = vector <ll>;
using ii = pair <ll, ll>;
using vii = vector <ii>;
ll n;
vll vl, vr;
// vll ve;
void init (int n, int aa[], int bb[]) {
::n = n;
vl = vll(aa, aa+n);
vr = vll(bb, bb+n);
// ve = vll(n);
// iota(ve.begin(), ve.end(), 0);
// sort(ve.begin(), ve.end(), [&](ll a, ll b) {
// if (vr[a] != vr[b]) return vr[a] > vr[b];
// return vl[a] < vl[b];
// });
// for (ll i : ve) {
// cerr << vl[i] << ' ' << vr[i] << '\n';
// }
}
int can (int m, int k[]) {
vll th(k, k+m);
sort(th.begin(), th.end());
vector <char> used(n, false);
for (ll i : th) {
ll oi = i;
vll uh;
for (ll j = 0; j < n; j++) {
if (vl[j] <= oi) uh.push_back(j);
}
sort(uh.begin(), uh.end(), [&](ll a, ll b) {
return vr[a] < vr[b];
});
for (ll j : uh) {
if (oi > vr[j] || used[j]) continue;
i--;
used[j] = true;
if (i == 0) break;
}
if (i) return 0;
}
return 1;
// ll j = 0;
// for (ll i : th) {
// ll oi = i;
// while (i--) {
// while (j < n && !(vl[j] <= oi && oi <= vr[j])) { j++; continue; }
// if (j == n) return 0;
// j++;
// }
// }
// 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... |