Submission #603981

#TimeUsernameProblemLanguageResultExecution timeMemory
603981PanTkdTeams (IOI15_teams)C++17
34 / 100
4078 ms154188 KiB
// // main.cpp // // Created by Panagiotis Chadjicostas on // Copyright © Panagiotis Hadjicostas. All rights reserved. // #include "teams.h" #include <iostream> #include <algorithm> #include <bitset> #include <complex> #include <deque> #include <fstream> #include <iomanip> #include <iterator> #include <limits> #include <list> #include <cstring> #include <map> #include <queue> #include <set> #include <stack> #include <string> #include <vector> #include <unordered_map> using namespace std; typedef int ll; typedef vector<ll> vi; typedef pair<ll,ll> ii; #define fo(i,a,b) for(int i = a; i<=b; i++) #define f(i,b) for(int i=0;i<b;i++) #define F first #define S second #define sz size #define ls s,m,idx<<1 #define rs m+1,e,idx<<1|1 const ll MOD=ll(1e9)+7; const ll MAXN=2*ll(1e6); void checker(){ ll n=rand()%20+2; vi a(n,ll()); for(ll i=0;i<n;i++){ a[i]=rand()%20+2; } for(ll b=0;b<(1<<n);b++){ vi on,off; for(ll i=0;i<n;i++){ if(i&(1<<i)){ on.push_back(i); } else{ off.push_back(i); } } } } /////////////////////////////////////////////////////////////////////// vector<pair<ll,ll> > V; vector<vi> v; bool cmp(ii a,ii b){ if(a.F<b.F) return 1; else if(b.F<a.F) return 0; else if(a.S<b.S) return 1; else return 0; } void init(int N, int A[], int B[]){ v.assign(5000001,vi()); for(ll i=0;i<N;i++){ v[A[i]].push_back(B[i]); } } int can(int M, int K[]){ sort(K,K+M); multiset<ll> ms; ll idx=0; for(ll i=0;i<M;i++){ while(idx <= K[i]) { for(auto z : v[idx]) ms.insert(z); idx++; } ll temp=K[i]; while(temp && (int)ms.size() > 0) { if(*ms.begin() >= K[i]) temp--; ms.erase(ms.begin()); } if(temp>0) return 0; } return 1; } /* int main() { ios_base::sync_with_stdio(false); cin.tie(NULL); ll N;cin>>N; ll A[N],B[N]; for(ll i=0;i<N;i++) cin>>A[i]>>B[i]; init(N,A,B); ll Q;cin>>Q; while(Q--){ ll M;cin>>M; ll K[M]; for(ll i=0;i<M;i++) cin>>K[i]; cout<<can(M,K)<<endl; } return 0; } */
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...