QOJ.ac

QOJ

IDProblemSubmitterResultTimeMemoryLanguageFile sizeSubmit timeJudge time
#882320#2787. Teamsthangthang0 0ms0kbC++141.6kb2025-02-04 23:51:052025-02-04 23:51:06

Judging History

This is the latest submission verdict.

  • [2025-02-04 23:51:06]
  • Judged
  • Verdict: 0
  • Time: 0ms
  • Memory: 0kb
  • [2025-02-04 23:51:05]
  • Submitted

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%