제출 #119066

#제출 시각아이디문제언어결과실행 시간메모리
119066oolimry팀들 (IOI15_teams)C++14
34 / 100
4034 ms21268 KiB
#include "teams.h" #include <bits/stdc++.h> using namespace std; typedef pair<int,int> ii; int n; ii arr[1000005]; void init(int N, int A[], int B[]) { n = N; for(int i = 0;i < n;i++){ arr[i] = {A[i],B[i]}; } sort(arr,arr+n); } int can(int M, int K[]) { int m = M; int s = 0; for(int i = 0;i < m;i++) s += K[i]; if(s > n) return 0; int tasks[s]; int cnt = 0; for(int i = 0;i < m;i++){ for(int j = 0;j < K[i];j++){ tasks[cnt] = K[i]; cnt++; } } sort(tasks,tasks+s); priority_queue<int, vector<int>, greater<int> > stuff; int index = 0; for(int i = 0;i < s;i++){ while(index < n && arr[index].first <= tasks[i]){ stuff.push(arr[index].second); index++; } while(true){ if(stuff.empty()){ return 0; } if(stuff.top() < tasks[i]){ stuff.pop(); } else{ stuff.pop(); break; } } //cout << stuff.size() << "\n"; } 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...