Submission #1014837

#TimeUsernameProblemLanguageResultExecution timeMemory
1014837ASN49K팀들 (IOI15_teams)C++14
34 / 100
4089 ms38360 KiB
#include <bits/stdc++.h>
#include "teams.h"
using namespace std;
#define all(x) x.begin(),x.end()
using pii=pair<int,int>;
int n;
vector<pii>a;
void init(int N, int *A, int *B)
{
    a.resize(N);
    n=N;
    for(int i=0;i<N;i++)
    {
        a[i] = make_pair(A[i] , B[i]);
    }
    sort(all(a));
}
 
 
int can(int m, int k[])
{
  	sort(k,k+m);
    multiset<int>mp;
    for(int i=0,l=0;i<m;i++)
    {
        while(l<n && a[l].first<=k[i])
        {
            mp.insert(a[l++].second);
        }
        auto it=mp.begin();
        while(mp.size() && *it<k[i])
        {
            it=next(it);
            mp.erase(prev(it));
        }
        if((int)mp.size()<k[i])
        {
            return false;
        }
        for(int j=0;j<k[i];j++)
        {
            it=next(it);
            mp.erase(prev(it));
        }
    }
    return true;
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...