QOJ.ac
QOJ
ID | 题目 | 提交者 | 结果 | 用时 | 内存 | 语言 | 文件大小 | 提交时间 | 测评时间 |
---|---|---|---|---|---|---|---|---|---|
#882317 | #2787. Teams | thangthang | 0 | 4ms | 6620kb | C++14 | 1.6kb | 2025-02-04 23:48:33 | 2025-02-04 23:48:34 |
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 = 1; i <= M; ++ i){
p[i] = p[i - 1] + s[i];
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 (u == 0 && v == 1 && K[M - 1] == 1) return diff[u] - 1;
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
详细
Subtask #1:
score: 0
Wrong Answer
Test #1:
score: 21
Accepted
time: 0ms
memory: 5840kb
input:
4 2 4 1 2 2 3 2 3 2 2 1 3 2 1 1
output:
1 0
result:
ok 2 lines
Test #2:
score: 0
Wrong Answer
time: 1ms
memory: 3712kb
input:
5 2 3 2 2 3 4 2 2 1 1 1 3 2 1 2
output:
1
result:
wrong answer 1st lines differ - expected: '0', found: '1'
Subtask #2:
score: 0
Wrong Answer
Test #27:
score: 13
Accepted
time: 3ms
memory: 5248kb
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:
0
result:
ok single line: '0'
Test #28:
score: 13
Accepted
time: 4ms
memory: 6620kb
input:
100000 23870 62096 6565 45612 1109 94686 60692 94017 34512 95079 64450 77378 21832 56221 45089 57006 46643 50408 96079 97119 60110 82767 11385 91389 34321 46387 53829 66069 14404 75150 6213 57606 43918 82140 4948 55435 23376 51028 22205 30478 29042 31756 31998 33180 41368 57346 52764 68043 11566 707...
output:
0
result:
ok single line: '0'
Test #29:
score: 0
Wrong Answer
time: 1ms
memory: 5248kb
input:
100000 59419 71286 61502 99530 19798 67560 47714 64697 63194 78267 31804 43941 85524 99088 15970 21868 15988 90245 63235 72884 63991 89776 41084 64662 16736 30436 38234 67822 6618 77375 24943 64281 54442 81083 68112 82304 24706 89837 23429 56940 67196 81327 7563 54090 44866 92572 42558 53589 7177 12...
output:
1
result:
wrong answer 1st lines differ - expected: '0', found: '1'
Subtask #3:
score: 0
Skipped
Dependency #1:
0%
Subtask #4:
score: 0
Skipped
Dependency #1:
0%