제출 #1301525

#제출 시각아이디문제언어결과실행 시간메모리
1301525timeflewTeams (IOI15_teams)C++20
34 / 100
4096 ms6556 KiB
#include "teams.h" #include<bits/stdc++.h> using namespace std; #define ll long long int n; int idx[500000]; multiset<int> ms; int *a, *b; void init(int N, int A[], int B[]) { n=N; a=A, b=B; } int can(int M, int K[]) { ms.clear(); int cnt=0; sort(K, K+M); int ptr=0; iota(idx, idx+n, 0); sort(idx, idx+n, [&](int i, int j) { if(a[i]!=a[j]) return a[i]<a[j]; else return b[i]<b[j]; }); for(int i=0; i<M; i++) { while(ptr<n&&a[idx[ptr]]<=K[i]) { ms.insert(b[idx[ptr++]]); } int cnt=K[i]; while(1) { auto it=ms.lower_bound(K[i]); if(it==ms.end()) break; ms.erase(it); cnt--; if(cnt==0) break; } if(cnt) return 0; } return 1; } // kustov_vadim_533 orz
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...