#ifndef teams_h
#define teams_h
#include <bits/stdc++.h>
using namespace std;
const int MAXN=500000;
int N, A[MAXN], B[MAXN];
void init(int n, int a[], int b[]) {
N=n;
for(int i=0;i<N;i++){
A[i]=a[i];
B[i]=b[i];
}
}
int can(int M, int K[]) {
vector<int> v(N);
for(int i=0;i<N;i++){
v[i]=i;
}
sort(v.begin(), v.end(), [&](int f, int s){
if(A[f]==A[s]){
return B[f]<B[s];
}
return A[f]<A[s];
});
sort(K, K+M);
int j=0, listo=0;
for(int i=0;i<M;i++){
int student=v[j], cnt=0;
/* cout<<"=================="<<endl;
cout<<student<<endl; */
while(cnt<K[i]&&j<N&&A[student]<=K[i]&&K[i]<=B[student]){
cnt++;
j++;
if(j<N)
student=v[j];
}
/* cout<<i<<" "<<cnt<<endl; */
if(cnt==K[i]){
listo++;
}
}
return listo==M;
}
#endif
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |