Submission #1301843

#TimeUsernameProblemLanguageResultExecution timeMemory
1301843nicolo_010Teams (IOI15_teams)C++20
0 / 100
4094 ms12544 KiB
#include <bits/stdc++.h> #include "teams.h" using namespace std; using ll = long long; using pii = pair<int, int>; int n; vector<int> a, b; void init(int N, int* A, int *B) { n = N; for (int i=0; i<n; i++) { a.push_back(A[i]); b.push_back(B[i]); } } int can(int m, int* K) { vector<int> k; for (int i=0; i<m; i++) { k.push_back(K[i]); } sort(k.begin(), k.end()); vector<pii> c(n); for (int i=0; i<n; i++) { c[i] = {a[i], b[i]}; } sort(c.begin(), c.end()); priority_queue<pii, vector<pii>, greater<pii>> pq; int j=0; int i=0; vector<int> ans(m, 0); while (i<n && j<m) { int ai = c[i].first; int bi = c[i].second; if (ai <= k[j] && k[j] <= bi) { ans[j]++; i++; } else { if (bi < k[j]) { i++; } else if (ai > k[j]) { j++; } } if (ans[j] == k[j]) { j++; } } for (i=0; i<m; i++) { if (ans[i] != k[i]) { return 0; } } 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...