#include<bits/stdc++.h>
using namespace std;
int n;
int a[1005];
void update(int i,int val){//更新
while(i<=n){
a[i]+=val;
i+=i&-i;
}
}
int sum(int i){//求区间[1,i]所有元素的和,前缀和
int ret=0;
while(i>0){
ret+=a[i];
i-=i&-i;
}
return ret;
}
int main()
{
int i,x,s;
while(cin>>n){
s=0;
memset(a,0,sizeof(a));
for(i=1;i<=n;i++){
cin>>x;
update(x,1);//将x更新为1
s+=i-sum(x);//求x后面1的个数,相加
}
printf("%d\n",s);
}
return 0;
}
06-01
“相关推荐”对你有帮助么?
-
非常没帮助
-
没帮助
-
一般
-
有帮助
-
非常有帮助
提交