This submission is migrated from previous version of oj.uz, which used different machine for grading. This submission may have different result if resubmitted.
#include<iostream>
#include<vector>
#include<algorithm>
#include<utility>
#include<set>
#include "teams.h"
using namespace std;
namespace{
int n;
vector<vector<int>> vec;
}
void init(int N, int A[], int B[]) {
n = N;
vec.resize(n + 1);
for(int i = 0; i < n; i++) vec[A[i]].push_back(B[i]);
}
int can(int M, int K[]) {
vector<int> vals;
int m = M;
for(int i = 0; i < m; i++) vals.push_back(K[i]);
sort(vals.begin(), vals.end());
int ptr = 0;
multiset<int> s;
for(int i = 1; i <= n; i++){
for(auto &x: vec[i]) s.insert(x);
while(ptr < m && vals[ptr] == i){
if((int)s.size() < i) return 0;
for(int j = 0; j < i; j++) s.erase(s.begin());
ptr++;
}
while(!s.empty() && (*s.begin()) == i) s.erase(s.begin());
}
return 1;
}
// g++ -std=c++17 -o run -Wshadow -Wall -Wextra -fsanitize=undefined -fsanitize=address teams.cpp grader.cpp
# | 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... |