Submission #1140288

#TimeUsernameProblemLanguageResultExecution timeMemory
1140288efishelTeams (IOI15_teams)C++20
21 / 100
4090 ms20684 KiB
#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 timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...