#include <bits/stdc++.h>
#define FOR(var,bound) for(int var = 0; var < bound; var++)
#define FORB(var,lb,ub) for (int var = lb; var < ub; var++)
#define FORR(var,bound) for(int var = bound-1; var >= 0; var--)
using namespace std;
typedef long long ll;
typedef vector<int> vi;
typedef vector<vector<int>> vvi;
typedef pair<int, int> pii;
int n, a[500000], b[500000];
void init(int N, int A[], int B[]) {
n = N;
memcpy(a, A, n * sizeof(a[0]));
memcpy(b, B, n * sizeof(b[0]));
}
int can(int m, int k[]) {
sort(k, k + m);
auto cmp = [](pii a, pii b) {
return pii{a.second, a.first} < pii{b.second, b.first};
};
multiset<pair<int, int>> unused;
multiset<pair<int, int>, decltype(cmp)> available(cmp);
FOR(i, n) {
unused.insert({a[i], b[i]});
}
FOR(i, m) {
int v = k[i];
while (unused.size() && unused.begin()->first <= v) {
available.insert(*(unused.begin()));
unused.erase(unused.begin());
}
while (available.size() && available.begin() ->second < v) {
available.erase(available.begin());
}
FOR(j, v) {
if (available.empty()) return 0;
available.erase(available.begin());
}
}
return true;
}
#ifdef LOCAL_TEST
int main() {
ios_base::sync_with_stdio(false);
cin.tie(NULL);
int n;
cin >> n;
vector<int> a(n), b(n);
FOR(i, n) {
cin >> a[i] >> b[i];
}
init(n, a.data(), b.data());
int q;
cin >> q;
FOR(i, q) {
int m;
cin >> m;
vector<int> k(m);
FOR(j, m) {
cin >> k[j];
}
cout << (can(m, k.data()) ? "YES" : "NO") << endl;
}
}
#endif
Compilation message
teams.cpp: In lambda function:
teams.cpp:25:30: warning: declaration of 'b' shadows a global declaration [-Wshadow]
25 | auto cmp = [](pii a, pii b) {
| ~~~~^
teams.cpp:14:19: note: shadowed declaration is here
14 | int n, a[500000], b[500000];
| ^
teams.cpp:25:23: warning: declaration of 'a' shadows a global declaration [-Wshadow]
25 | auto cmp = [](pii a, pii b) {
| ~~~~^
teams.cpp:14:8: note: shadowed declaration is here
14 | int n, a[500000], b[500000];
| ^
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Correct |
1 ms |
308 KB |
Output is correct |
2 |
Correct |
1 ms |
212 KB |
Output is correct |
3 |
Correct |
2 ms |
212 KB |
Output is correct |
4 |
Correct |
1 ms |
312 KB |
Output is correct |
5 |
Correct |
2 ms |
212 KB |
Output is correct |
6 |
Correct |
1 ms |
340 KB |
Output is correct |
7 |
Correct |
1 ms |
212 KB |
Output is correct |
8 |
Correct |
2 ms |
212 KB |
Output is correct |
9 |
Correct |
1 ms |
312 KB |
Output is correct |
10 |
Correct |
1 ms |
212 KB |
Output is correct |
11 |
Correct |
1 ms |
212 KB |
Output is correct |
12 |
Correct |
2 ms |
340 KB |
Output is correct |
13 |
Correct |
1 ms |
336 KB |
Output is correct |
14 |
Correct |
1 ms |
212 KB |
Output is correct |
15 |
Correct |
2 ms |
212 KB |
Output is correct |
16 |
Correct |
1 ms |
308 KB |
Output is correct |
17 |
Correct |
1 ms |
316 KB |
Output is correct |
18 |
Correct |
1 ms |
212 KB |
Output is correct |
19 |
Correct |
1 ms |
212 KB |
Output is correct |
20 |
Correct |
1 ms |
212 KB |
Output is correct |
21 |
Correct |
1 ms |
212 KB |
Output is correct |
22 |
Correct |
1 ms |
212 KB |
Output is correct |
23 |
Correct |
1 ms |
212 KB |
Output is correct |
24 |
Correct |
1 ms |
212 KB |
Output is correct |
25 |
Correct |
1 ms |
232 KB |
Output is correct |
26 |
Correct |
1 ms |
212 KB |
Output is correct |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Correct |
32 ms |
7636 KB |
Output is correct |
2 |
Correct |
30 ms |
7668 KB |
Output is correct |
3 |
Correct |
58 ms |
7736 KB |
Output is correct |
4 |
Correct |
44 ms |
8220 KB |
Output is correct |
5 |
Correct |
34 ms |
7244 KB |
Output is correct |
6 |
Correct |
39 ms |
7316 KB |
Output is correct |
7 |
Correct |
33 ms |
7332 KB |
Output is correct |
8 |
Correct |
29 ms |
7336 KB |
Output is correct |
9 |
Correct |
29 ms |
7508 KB |
Output is correct |
10 |
Correct |
27 ms |
7172 KB |
Output is correct |
11 |
Correct |
23 ms |
7124 KB |
Output is correct |
12 |
Correct |
25 ms |
7280 KB |
Output is correct |
13 |
Correct |
38 ms |
7524 KB |
Output is correct |
14 |
Correct |
38 ms |
7552 KB |
Output is correct |
15 |
Correct |
36 ms |
7628 KB |
Output is correct |
16 |
Correct |
32 ms |
7704 KB |
Output is correct |
17 |
Correct |
30 ms |
7660 KB |
Output is correct |
18 |
Correct |
33 ms |
7568 KB |
Output is correct |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Execution timed out |
4067 ms |
8388 KB |
Time limit exceeded |
2 |
Halted |
0 ms |
0 KB |
- |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Execution timed out |
4033 ms |
38572 KB |
Time limit exceeded |
2 |
Halted |
0 ms |
0 KB |
- |