#include "teams.h"
#include <algorithm>
#include <iostream>
#include <queue>
using namespace std;
struct tpos
{
int l, r;
};
bool operator < (const tpos &a, const tpos &b)
{
if (a.r == b.r)
return a.l < b.l;
return a.r > b.r;
}
tpos arr[1<<20];
int n;
void init(int N, int A[], int B[])
{
n = N;
for (int i = 0; i < N; i++)
{
arr[i].l = A[i];
arr[i].r = B[i];
}
sort(arr, arr + N);
}
int can(int M, int K[])
{
sort(K, K+M);
priority_queue<tpos> pq;
for (int i = 0; i < n; i++)
{
pq.push(arr[i]);
}
int cnt;
for (int i = 0; i < M; i++)
{
cnt=K[i];
while (!pq.empty())
{
if(cnt==0) break;
tpos t=pq.top();
if(t.r < K[i])
{
pq.pop();
continue;
}
if(t.l > K[i])
return 0;
pq.pop();
cnt--;
}
if(cnt==0) continue;
return 0;
}
return 1;
}
# | 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... |