Submission #596966

#TimeUsernameProblemLanguageResultExecution timeMemory
596966PiejanVDCTeams (IOI15_teams)C++17
34 / 100
4051 ms55048 KiB
#include "teams.h"
#include <bits/stdc++.h>
using namespace std;

vector<vector<int>>v((int)5e5+5);

void init(int n, int a[], int b[]) {
    for(int i = 0 ; i < n ; i++) {
        v[a[i]].push_back(b[i]);
    }
}

int can(int m, int k[]) {
    sort(k, k + m);
    multiset<int>s;
    int p = 0;
    for(int i = 0 ; i < m ; i++) {
        while(p <= k[i]) {
            for(auto z : v[p])
                s.insert(z);
            p++;
        }
        while(k[i] && (int)s.size() > 0) {
            if(*s.begin() >= k[i])
                k[i]--;
            s.erase(s.begin());
        }
        if(k[i])
            return 0;
    }
    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...