Submission #74681756


Source Code Expand

#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
class ft {
private:
    vector<int> tree;
    int n;
public:
    ft(int size) : n(size), tree(size + 2, 0) {}
    void update(int pos, int delta) {
        for (; pos <= n; pos += pos & -pos) {
            tree[pos] += delta;
        }
    }
    int query(int pos) {
        int res = 0;
        for (; pos > 0; pos -= pos & -pos) {
            res += tree[pos];
        }
        return res;
    }
    void clear() {
        fill(tree.begin(), tree.end(), 0);
    }
};
long long calc(int X, const vector<int>& P, int N) {
    ft ft(N);
    int l = 1;
    long long inv_count = 0;
    long long res = 0;
    for (int r = 1; r <= N; ++r) {
        int x = P[r];
        int add = (r - l) - ft.query(x);
        inv_count += add;
        ft.update(x, 1);
        while (inv_count > X && l <= r) {
            int y = P[l];
            int del = ft.query(y - 1);
            inv_count -= del;
            ft.update(y, -1);
            l++;
        }
        res += r - l + 1;
    }
    return res;
}
int main() {
    ios::sync_with_stdio(false);
    cin.tie(nullptr);
    int N, K;
    cin >> N >> K;
    vector<int> P(N + 1);
    for (int i = 1; i <= N; ++i) {
        cin >> P[i];
    }
    long long ans = calc(K, P, N);
    if (K > 0) {
        ans -= calc(K - 1, P, N);
    }
    cout << ans;
    return 0;
}

Submission Info

Submission Time
Task F - Interval Inversion Count
User xuhanjin
Language C++23 (GCC 15.2.0)
Score 0
Code Size 1452 Byte
Status TLE
Exec Time > 2000 ms
Memory 7396 KiB

Compile Error

./Main.cpp: In constructor 'ft::ft(int)':
./Main.cpp:8:9: warning: 'ft::n' will be initialized after [-Wreorder]
    8 |     int n;
      |         ^
./Main.cpp:7:17: warning:   'std::vector<int> ft::tree' [-Wreorder]
    7 |     vector<int> tree;
      |                 ^~~~
./Main.cpp:10:5: warning:   when initialized here [-Wreorder]
   10 |     ft(int size) : n(size), tree(size + 2, 0) {}
      |     ^~

Judge Result

Set Name Sample All
Score / Max Score 0 / 0 0 / 500
Status
AC × 3
AC × 35
TLE × 20
Set Name Test Cases
Sample 00_sample_00.txt, 00_sample_01.txt, 00_sample_02.txt
All 00_sample_00.txt, 00_sample_01.txt, 00_sample_02.txt, 01_random_03.txt, 01_random_04.txt, 01_random_05.txt, 01_random_06.txt, 01_random_07.txt, 01_random_08.txt, 01_random_09.txt, 01_random_10.txt, 01_random_11.txt, 01_random_12.txt, 01_random_13.txt, 01_random_14.txt, 01_random_15.txt, 01_random_16.txt, 01_random_17.txt, 01_random_18.txt, 01_random_19.txt, 01_random_20.txt, 01_random_21.txt, 01_random_22.txt, 01_random_23.txt, 01_random_24.txt, 01_random_25.txt, 01_random_26.txt, 01_random_27.txt, 01_random_28.txt, 01_random_29.txt, 01_random_30.txt, 01_random_31.txt, 01_random_32.txt, 01_random_33.txt, 01_random_34.txt, 01_random_35.txt, 01_random_36.txt, 01_random_37.txt, 01_random_38.txt, 01_random_39.txt, 01_random_40.txt, 01_random_41.txt, 01_random_42.txt, 01_random_43.txt, 01_random_44.txt, 01_random_45.txt, 01_random_46.txt, 01_random_47.txt, 01_random_48.txt, 01_random_49.txt, 01_random_50.txt, 01_random_51.txt, 01_random_52.txt, 01_random_53.txt, 01_random_54.txt
Case Name Status Exec Time Memory
00_sample_00.txt AC 1 ms 3644 KiB
00_sample_01.txt AC 1 ms 3580 KiB
00_sample_02.txt AC 1 ms 3564 KiB
01_random_03.txt TLE > 2000 ms 5588 KiB
01_random_04.txt TLE > 2000 ms 5856 KiB
01_random_05.txt AC 20 ms 4720 KiB
01_random_06.txt TLE > 2000 ms 4628 KiB
01_random_07.txt TLE > 2000 ms 5344 KiB
01_random_08.txt TLE > 2000 ms 4808 KiB
01_random_09.txt AC 22 ms 4900 KiB
01_random_10.txt TLE > 2000 ms 7012 KiB
01_random_11.txt TLE > 2000 ms 7120 KiB
01_random_12.txt AC 61 ms 7272 KiB
01_random_13.txt TLE > 2000 ms 7188 KiB
01_random_14.txt TLE > 2000 ms 7120 KiB
01_random_15.txt TLE > 2000 ms 7304 KiB
01_random_16.txt AC 62 ms 7268 KiB
01_random_17.txt TLE > 2000 ms 7136 KiB
01_random_18.txt TLE > 2000 ms 7248 KiB
01_random_19.txt AC 66 ms 7380 KiB
01_random_20.txt TLE > 2000 ms 7096 KiB
01_random_21.txt TLE > 2000 ms 7248 KiB
01_random_22.txt TLE > 2000 ms 7136 KiB
01_random_23.txt AC 63 ms 7152 KiB
01_random_24.txt AC 20 ms 7136 KiB
01_random_25.txt TLE > 2000 ms 7264 KiB
01_random_26.txt TLE > 2000 ms 7264 KiB
01_random_27.txt TLE > 2000 ms 7136 KiB
01_random_28.txt TLE > 2000 ms 7136 KiB
01_random_29.txt TLE > 2000 ms 7268 KiB
01_random_30.txt AC 20 ms 7248 KiB
01_random_31.txt AC 39 ms 7136 KiB
01_random_32.txt AC 38 ms 7268 KiB
01_random_33.txt AC 39 ms 7188 KiB
01_random_34.txt AC 40 ms 7248 KiB
01_random_35.txt AC 39 ms 7264 KiB
01_random_36.txt AC 1 ms 3636 KiB
01_random_37.txt AC 28 ms 7288 KiB
01_random_38.txt AC 30 ms 7208 KiB
01_random_39.txt AC 26 ms 7268 KiB
01_random_40.txt AC 31 ms 7292 KiB
01_random_41.txt AC 29 ms 7284 KiB
01_random_42.txt AC 26 ms 7352 KiB
01_random_43.txt AC 25 ms 7272 KiB
01_random_44.txt AC 28 ms 7396 KiB
01_random_45.txt AC 32 ms 7284 KiB
01_random_46.txt AC 31 ms 7268 KiB
01_random_47.txt AC 32 ms 7268 KiB
01_random_48.txt AC 32 ms 7208 KiB
01_random_49.txt AC 32 ms 7268 KiB
01_random_50.txt AC 27 ms 6608 KiB
01_random_51.txt AC 21 ms 6680 KiB
01_random_52.txt AC 25 ms 6420 KiB
01_random_53.txt AC 22 ms 6560 KiB
01_random_54.txt AC 28 ms 6920 KiB