/ SeriousOJ /

Record Detail

Time Exceeded


  
# Status Time Cost Memory Cost
#1 Accepted 1ms 532.0 KiB
#2 Accepted 1ms 532.0 KiB
#3 Accepted 1ms 536.0 KiB
#4 Time Exceeded ≥2100ms ≥1.141 MiB
#5 Wrong Answer 1526ms 3.594 MiB
#6 Time Exceeded ≥2000ms ≥2.105 MiB
#7 Accepted 307ms 816.0 KiB
#8 Time Exceeded ≥2100ms ≥2.062 MiB
#9 Time Exceeded ≥2098ms ≥2.078 MiB
#10 Time Exceeded ≥2001ms ≥2.102 MiB
#11 Accepted 39ms 596.0 KiB
#12 Accepted 75ms 692.0 KiB
#13 Accepted 1ms 532.0 KiB

Code

#include <bits/stdc++.h>
using namespace std;

void s() {
    int n, q;
    cin >> n;
    vector<int> a(n + 1);

    for (int i = 1; i <= n; i++) {
        cin >> a[i];
    }

    cin >> q;
    while (q--) {
        int x, cnt = 0;
        cin >> x;
        vector<int> lg(x, 0), rg(n - x + 1, 0), ls(x, 0), rs(n - x + 1, 0);

        for (int i = 1; i < x; i++) {
            if (a[i] > a[x]) lg[i] = 1;
            if (a[i] < a[x]) ls[i] = 1;
        }

        for (int j = x + 1; j <= n; j++) {
            if (a[j] > a[x]) rg[j - x] = 1;
            if (a[j] < a[x]) rs[j - x] = 1;
        }

        int lgs = accumulate(lg.begin(), lg.end(), 0);
        int lss = accumulate(ls.begin(), ls.end(), 0);
        int rgs = accumulate(rg.begin(), rg.end(), 0);
        int rss = accumulate(rs.begin(), rs.end(), 0);

        cnt = lgs * rss + lss * rgs;
        cout << cnt << endl;
    }
}

int main() {
    ios_base::sync_with_stdio(false);
    cin.tie(0);

    int t;
    cin >> t;
    while (t--) {
        s();
    }

    return 0;
}

Information

Submit By
Type
Submission
Problem
P1079 Roy and Query (Easy Version)
Contest
Brain Booster #6
Language
C++17 (G++ 13.2.0)
Submit At
2024-10-03 17:26:22
Judged At
2024-10-03 17:26:22
Judged By
Score
52
Total Time
≥2100ms
Peak Memory
≥3.594 MiB