제출 #254284

#제출 시각아이디문제언어결과실행 시간메모리
254284eohomegrownapps팀들 (IOI15_teams)C++14
34 / 100
4080 ms12552 KiB
#include "teams.h"
#include <bits/stdc++.h>
using namespace std;

vector<pair<int,int>> ranges;
int n;

void init(int N, int A[], int B[]) {
    n=N;
    ranges.resize(n);
    for (int i=0; i<n; i++){
        ranges[i].first=A[i];
        ranges[i].second=B[i];
    }
    sort(ranges.begin(),ranges.end());
}

int can(int m, int k[]) {
    sort(k,k+m);
    int ptr = 0;
    priority_queue<int,vector<int>,greater<int>> pq;
    for (int i = 0; i<m; i++){
        while (ptr<n&&ranges[ptr].first<=k[i]){
            pq.push(ranges[ptr].second);
            ptr++;
        }
        while (pq.size()>0&&pq.top()<k[i]){
            pq.pop();
        }
        for (int j = 0; j<k[i]; j++){
            if (pq.size()==0){
                return 0;
            }
            pq.pop();
        }
    }
    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...