#include <iostream>
#include <algorithm>
#include <math.h>
#include <vector>
#include <set>
#include <queue>
#include <array>
#include <map>
#include <random>
#include <bitset>
#include <stack>
#include <deque>
#include <random>
#include <unordered_set>
#include <unordered_map>
#include <string>
using namespace std;
typedef long long ll;
vector<pair<int, int>> a;
void init(int N, int A[], int B[]) {
a.resize(N);
for (int i = 0; i < N; ++i) {
a[i] = { A[i], B[i] };
}
sort(a.begin(), a.end());
}
int can(int M, int K[]) {
sort(K, K + M);
multiset<int> s;
int l = 0;
for (int i = 0; i < M; ++i) {
while (l < a.size() && a[l].first < i) {
s.insert(a[l].second);
++l;
}
int t = K[i];
while (t > 0 && s.lower_bound(K[i]) != s.end()) {
s.erase(s.lower_bound(K[i]));
--t;
}
if (t > 0) 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... |