Submission #424512

#TimeUsernameProblemLanguageResultExecution timeMemory
42451279brueTeams (IOI15_teams)C++14
34 / 100
4078 ms17036 KiB
#include <bits/stdc++.h> #include "teams.h" using namespace std; typedef long long ll; int n; pair<int, int> arr[500002]; void init(int N, int A[], int B[]){ n = N; for(int i=1; i<=n; i++) arr[i] = make_pair(A[i-1], B[i-1]); sort(arr+1, arr+n+1); } priority_queue<int, vector<int>, greater<int> > pq; int can(int M, int K[]){ while(!pq.empty()) pq.pop(); sort(K, K+M); int pnt = 1; for(int i=0; i<M; i++){ while(pnt <= n && arr[pnt].first <= K[i]){ pq.push(arr[pnt++].second); } int cnt = 0; while(!pq.empty() && cnt<K[i]){ if(pq.top() < K[i]){ pq.pop(); continue; } pq.pop(); cnt++; } if(cnt < K[i]) return false; } return true; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...