#include "teams.h"
#include <iostream>
#include <queue>
#include <algorithm>
using namespace std;
pair<int,int>vec[500005];
int n;
bool cmp(pair<int,int>a,pair<int,int>b)
{
if(a.second==b.second)
{
return a.first<b.first;
}
return a.second<b.second;
}
void init(int N, int A[], int B[]) {
n=N;
for(int i=0;i<N;i++)
{
vec[i+1].first=A[i];
vec[i+1].second=B[i];
}
sort(vec+1,vec+n+1,cmp);
}
priority_queue<int>pq;
int can(int M, int K[]) {
int dr,index=M-1;
while(pq.size())
{
pq.pop();
}
for(int i=n;i>=0;i--)
{
while(vec[i].second<K[index] && index>=0)
{
int cnt=K[index];
while(pq.size() && pq.top()>K[index])
{
pq.pop();
}
while(pq.size() && K[index])
{
K[index]--;
pq.pop();
}
if(K[index]!=0)
{
return 0;
}
else{
index--;
}
}
pq.push(vec[i].first);
}
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... |