Submission #1246475

#TimeUsernameProblemLanguageResultExecution timeMemory
1246475SpyrosAlivTeams (IOI15_teams)C++20
34 / 100
4091 ms12164 KiB
#include "teams.h" #include <bits/stdc++.h> using namespace std; int n; vector<pair<int, int>> rr; void init(int N, int A[], int B[]) { n = N; for (int i = 0; i < n; i++) { rr.push_back({A[i], B[i]}); } sort(rr.begin(), rr.end(), [&](pair<int, int> a, pair<int, int> b) { if (a.second != b.second) return a.second < b.second; return a.first < b.first; }); } int can(int M, int K[]) { int m = M; vector<int> cnt(n+1, 0); set<int> points; points.insert(n+10); for (int i = 0; i < m; i++) { cnt[K[i]] += K[i]; points.insert(K[i]); } for (auto [l, r]: rr) { auto nxt = points.lower_bound(l); if (*nxt > r) continue; cnt[*nxt]--; if (cnt[*nxt] == 0) { points.erase(nxt); } } return points.size() == 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...