QOJ.ac
QOJ
ID | Problem | Submitter | Result | Time | Memory | Language | File size | Submit time | Judge time |
---|---|---|---|---|---|---|---|---|---|
#882320 | #2787. Teams | thangthang | 0 | 0ms | 0kb | C++14 | 1.6kb | 2025-02-04 23:51:05 | 2025-02-04 23:51:06 |
Judging History
answer
#ifdef ONLINE_JUDGE
#include "teams.h"
#endif // ONLINE_JUDGE
#include <bits/stdc++.h>
using namespace std;
const int MaxN = 1e5 + 5;
int n, a[MaxN], b[MaxN];
int q, m, k[MaxN], fl[MaxN], fr[MaxN];
void init(int N, int A[], int B[]){
n = N;
for (int i = 0; i < n; ++ i)
fl[B[i]] ++, fr[A[i]] ++;
for (int i = 1; i <= n; ++ i)
fl[i] += fl[i - 1];
for (int i = n; i >= 1; -- i)
fr[i] += fr[i + 1];
}
int p[MaxN], s[MaxN];
int can(int M, int K[]){
for (int i = M; i >= 1; -- i)
s[i] = K[i - 1];
s[0] = 0, s[m + 1] = 0;
sort(s + 1, s + m + 1);
vector <int> diff;
for (int i = 0; i <= M; ++ i)
p[i] = 0;
for (int i = 1; i <= M; ++ i){
p[i] = p[i - 1] + s[i];
assert(s[i] > 0);
if (p[i] > n) return 0;
if (s[i] != s[i - 1] || s[i] != s[i + 1])
diff.push_back(i);
}
int sz = diff.size();
for (int u = 0; u < sz; ++ u){
int l = s[diff[u]];
for (int v = u; v < sz; ++ v){
int r = s[diff[v]];
if (n - fl[l - 1] - fr[r + 1] < p[diff[v]] - p[diff[u] - 1])
return 0;
}
}
return 1;
}
#ifndef ONLINE_JUDGE
int main(){
ios_base::sync_with_stdio(0);
cin.tie(0); cout.tie(0);
cin >> n;
for (int i = 0; i < n; ++ i)
cin >> a[i] >> b[i];
init(n, a, b);
cin >> q;
for (int loops = 0; loops < q; ++ loops){
cin >> m;
for (int i = 0; i < m; ++ i)
cin >> k[i];
cout << can(m, k) << "\n";
}
}
#endif // ONLINE_JUDGE
Details
Tip: Click on the bar to expand more detailed information
Subtask #1:
score: 0
Runtime Error
Test #1:
score: 0
Runtime Error
input:
4 2 4 1 2 2 3 2 3 2 2 1 3 2 1 1
output:
Unauthorized output
result:
Subtask #2:
score: 0
Runtime Error
Test #27:
score: 0
Runtime Error
input:
100000 46503 61502 34278 63026 24651 60296 27921 32693 40654 78541 38357 97853 50234 74256 28875 64172 1156 66821 33682 85011 38633 55442 26468 75403 7744 95912 7639 20373 3489 65670 44385 68195 80744 92399 443 48207 20978 48590 42574 66994 94782 98699 69048 75985 3748 51039 56069 88210 15619 22502 ...
output:
Unauthorized output
result:
Subtask #3:
score: 0
Skipped
Dependency #1:
0%
Subtask #4:
score: 0
Skipped
Dependency #1:
0%