제출 #761971

#제출 시각아이디문제언어결과실행 시간메모리
761971Dan4LifeTeams (IOI15_teams)C++17
34 / 100
4075 ms9940 KiB
#include <bits/stdc++.h>
using namespace std;
#define pb push_back
pair<int,int> v[100000]; int n;
multiset<int> S;
 
void init(int N, int a[], int b[]) {
	for(int i = 0; i < N; i++) 
        v[i]=make_pair(a[i],b[i]);
    n = N; sort(v,v+n,[&](pair<int,int> x, pair<int,int>y){
        return x.second > y.second;
    }); 
}
 
int can(int m, int a[]) {
    sort(a,a+m); reverse(a,a+m);
    int j = 0; S.clear();
    for(int i = 0; i < m; i++){
        int x = a[i];
        while(j<n and v[j].second>=a[i]) 
            S.insert(v[j].first), j++;
        while(x--){
            auto itr = S.upper_bound(a[i]);
            if(itr==begin(S)) return 0;
            S.erase(--itr);
        }
    }
    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...