Submission #1082100

#TimeUsernameProblemLanguageResultExecution timeMemory
1082100MalixTeams (IOI15_teams)C++14
34 / 100
4067 ms12240 KiB
#include "teams.h" #include <bits/stdc++.h> using namespace std; typedef long long ll; typedef vector<int> vi; typedef vector<vi> vii; typedef pair<int,int> pi; typedef vector<pi> pii; typedef tuple<int,int,int> tii; typedef vector<ll> li; typedef vector<li> lii; #define REP(i,a,b) for(int i=a;i<b;i++) #define F first #define S second #define PB push_back #define LSOne(s) ((s)&(-s)) ll INF=1000000000000000010; int inf=1e9+10; ll M=1e9+7; pii a; int n; void init(int N, int A[], int B[]) { n=N; REP(i,0,n)a.PB({A[i],B[i]}); sort(a.begin(),a.end()); } int can(int m, int K[]) { vi b; REP(i,0,m)b.PB(K[i]); sort(b.begin(),b.end()); priority_queue<int,vi,greater<int>> pq; int pos=0; REP(i,0,m){ while(!pq.empty()&&pq.top()<b[i])pq.pop(); while(pos<n&&a[pos].F<=b[i]){ pq.push(a[pos].S); pos++; } while(!pq.empty()&&pq.top()<b[i])pq.pop(); while(b[i]>0){ if(pq.empty())return 0; pq.pop(); b[i]--; } } 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...