?? 1006.cpp
字號:
#include<stdio.h>
#include<string.h>
long long inv(int n,int a[]){
int l = n>>1, r = n-l, i, j;
int *v= new int(n);
long long ret = (r > 1 ? (inv(l , a) + inv(r , a + l)) : 0);
for(i = j = 0; i <= l; v[i + j] = a[i], i++)
for(ret += j; j < r && (i == l || a[i] > a[l+j]); v[i + j] = a[l + j], j++);
memcpy(a, v, sizeof(int)*n);
return ret;
}
int main(){
int t, n, i;
int avg, a[100005], s[100005], tempnum;
scanf("%d", &t);
while(t--){
memset(a, 0, sizeof(a));
memset(s, 0, sizeof(s));
scanf("%d %d", &n, &avg);
s[0] = 0;
s[n] = 0;
for(i = 1; i <= n; i++){
scanf("%d", &a[i]);
a[i] -= avg;
s[n - i] = s[n - i + 1] + a[i];
}
printf("%lld\n", inv(n + 1, s));
}
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -