제출 #494080

#제출 시각아이디문제언어결과실행 시간메모리
494080Lam_lai_cuoc_doiTeams (IOI15_teams)C++17
34 / 100
4070 ms19116 KiB
#define task ""
#include <bits/stdc++.h>

using namespace std;
using ll = long long;

const int N = 5e5 + 5;
pair<int, int> s[N];
int n;

void init(int m, int A[], int B[]) {
    n = m;
    for(int i = 0; i < m; ++i)
        s[i] = make_pair(A[i], B[i]);
    sort(s, s + n);
}

int can(int m, int k[]) {
    sort(k, k + m);

    priority_queue<int, vector<int>, greater<int>> q;

    for(int i = 0, j = 0; i < m; ++i) {
        while(j < n && s[j].first <= k[i]) {
            q.emplace(s[j].second);
            ++j;
        }
        while(!q.empty() && q.top() < k[i])
            q.pop();

        for(int t = 0; t < k[i]; ++t){
            if(q.empty()) return 0;
            q.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...