Submission #1265689

#TimeUsernameProblemLanguageResultExecution timeMemory
1265689julia_08Teams (IOI15_teams)C++20
34 / 100
4096 ms31588 KiB
#include <bits/stdc++.h> #include "teams.h" using namespace std; const int MAXN = 5e5 + 10; pair<int, int> student[MAXN]; int n; void init(int n_, int a[], int b[]){ n = n_; for(int i=0; i<n; i++) student[i] = {a[i], b[i]}; sort(student, student + n); } int can(int m, int k[]){ sort(k, k + m); multiset<int> ms; int l = 0; for(int i=0; i<m; i++){ while(l < n && student[l].first <= k[i]){ ms.insert(student[l].second); l ++; } if((int) ms.size() < k[i]) return 0; for(int j=0; j<k[i]; j++){ auto pos = ms.lower_bound(k[i]); if(pos == ms.end()) return 0; ms.erase(pos); } } 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...