省略
省略
C++に変換後のコードはこちら
int N, Q, A[2d4], L, R;
fenwick<int> f;
{
rd(N,Q,(A--)(N));
Arr1d<ll> x(N), y(N), h1(N), h2(N);
f.malloc(N);
f.init(N);
rep(i,N) x[i] = f.range(A[i]+1, N-1), f.add(A[i], 1);
f.init(N);
rrep(i,N) y[i] = f.get(A[i]-1), f.add(A[i], 1);
rep(Q){
ll res = ll_inf;
rd(L--, R--);
rep(i,N) h1[i] = h2[i] = 0;
h1.reset(); h2.reset();
rep(i,L) h1[A[i]]++;
rep(i,R+1,N) h2[A[i]]++;
rep(i,N) res <?= (h1.getSum(i+1,N-1) + h2.getSum(0,i-1)) * (R - L + 1);
rep(i,L) res += h2.getSum(0, A[i]-1);
res += x.getSum(0,L-1) + y.getSum(R+1,N-1);
wt(res);
}
}
Current time: 2024年04月19日11時35分51秒
Last modified: 2020年10月24日18時43分06秒 (by laycrs)
Tags: Competitive_Programming_Incomplete yukicoder
トップページに戻る
Logged in as: unknown user (not login)