Submission #1188052

#TimeUsernameProblemLanguageResultExecution timeMemory
1188052simona1230팀들 (IOI15_teams)C++20
34 / 100
4094 ms5188 KiB
#include "teams.h"
#include <bits/stdc++.h>
using namespace std;

int n;
pair<int,int> p[100001];
bool cmp(pair<int,int> p1,pair<int,int> p2)
{
    if(p1.second==p2.second)return p1.first>p2.first;
    return p1.second<p2.second;
}

void init(int N, int A[], int B[])
{
    n=N;
    for(int i=0;i<n;i++)
        p[i]={A[i],B[i]};
    sort(p,p+n,cmp);
}

int cnt[100001];
int can(int M, int K[])
{
    set<int> s;
    for(int i=0;i<M;i++)
        cnt[K[i]]=0;
    for(int i=0;i<M;i++)
    {
        s.insert(K[i]);
        cnt[K[i]]+=K[i];
    }

    for(int i=0;i<n;i++)
    {
        auto it=s.lower_bound(p[i].first);
        if(it==s.end()||*it>p[i].second)continue;
        cnt[*it]--;
        if(cnt[*it]==0)s.erase(it);
    }

    if(s.size())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...