Submission #1247068

#TimeUsernameProblemLanguageResultExecution timeMemory
1247068ASGA_RedSeaTeams (IOI15_teams)C++20
34 / 100
4093 ms31716 KiB
/**

                                    * بسم الله الرحمن الرحيم *

                ﴾ رَبِّ اشْرَحْ لِي صَدْرِي * وَيَسِّرْ لِي أَمْرِي * وَاحْلُلْ عُقْدَةً مِّن لِّسَانِي * يَفْقَهُوا قَوْلِي ﴿

*/

/// author : "ASGA"


#pragma GCC optimize("Ofast")

#include<bits/stdc++.h>


using namespace std;
using ll=long long;


int n;
vector<array<int,2>>a;

void init(int N,int A[],int B[]){
    n=N;
    for(int i=0;i<n;i++)a.push_back({A[i],B[i]});
    sort(a.begin(),a.end());
}
int can(int m,int k[]){
    sort(k,k+m);

    int l=0;
    multiset<int>s;
    for(int i=0;i<m;i++){
        while(l<n&&a[l][0]<=k[i])s.insert(a[l++][1]);

        int kk=k[i];
        while(kk--){
            auto j=s.lower_bound(k[i]);
            if(j==s.end())return 0;
            s.erase(j);
        }
    }

    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...