#9 WA
查看原帖
#9 WA
267730
AllenReder楼主2024/4/8 22:50

a某w平台也是wa这个点,不知道为什么:

#include <algorithm>
#include <iostream>
using namespace std;

const int N = 2e5 + 10;
#define int long long

int n;
int a[N];
int cnt[N];

struct BIT {
    int t[N << 2];
    void add(int x, int v) {
        for (; x < N; x += x & -x)
            t[x] += v;
    }
    int sum(int x) {
        int res = 0;
        for (; x; x -= x & -x)
            res += t[x];
        return res;
    }
} lt, rt;

int step[N];

signed main() {
    ios::sync_with_stdio(false);
    cin.tie(0), cout.tie(0);
    cin >> n;
    for (int i = 1; i <= n; ++i) {
        cin >> a[i];
        a[i]++;
    }
    for (int i = 1; i <= n; ++i) {
        lt.add(a[i], 1);
        step[i] += i - lt.sum(a[i]);
    }
    for (int i = n; i >= 1; --i) {
        rt.add(a[i], 1);
        step[i] += rt.sum(a[i] - 1);
    }
    int ans = 0;
    for (int i = 1; i <= n; ++i) {
        ans += step[i] * (step[i] + 1) / 2;
    }
    cout << ans << endl;
    return 0;
}
2024/4/8 22:50
加载中...