Submission #1013260

#TimeUsernameProblemLanguageResultExecution timeMemory
1013260d4xnTeams (IOI15_teams)C++17
34 / 100
4027 ms34364 KiB
#include "teams.h" #include <bits/stdc++.h> using namespace std; const int N = 5e5+5; int n; vector<int> lp[N]; void init(int nn, int a[], int b[]) { n = nn; for (int i = 0; i < n; i++) { lp[a[i]].push_back(b[i]); } } int can(int m, int k[]) { sort(k, k+m); int L = 0; int ok = 1; priority_queue<int> pq; for (int i = 1; i <= n; i++) { for (int& j : lp[i]) { pq.push(-j); } while (L < m && k[L] == i) { int c = k[L]; while (!pq.empty() && c) { pq.pop(); c--; } if (c) { ok = 0; break; } L++; } if (L == m) break; while (!pq.empty() && -pq.top() <= i) pq.pop(); } //cerr << ok << endl; return ok; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...