记录编号 437984 评测结果 AAAAAAAAAA
题目名称 数列 最终得分 100
用户昵称 GravatarHzoi_Mafia 是否通过 通过
代码语言 C++ 运行时间 0.000 s
提交时间 2017-08-15 06:23:14 内存使用 0.00 MiB
显示代码纯文本
#include<iostream>
#include<cstring>
#include<cstdio>
using namespace std;
inline int read(){
	int sum(0);
	char ch(getchar());
	for(;ch<'0'||ch>'9';ch=getchar());
	for(;ch>='0'&&ch<='9';sum=sum*10+(ch^48),ch=getchar());
	return sum;
}
int mxw;
int tr[35005];
inline int lowbit(int x){
	return x&-x;
}
inline void update(int pos,int x){
	while(pos<=mxw){
		tr[pos]+=x;
		pos+=lowbit(pos);
	}
}
inline int sum(int pos){
	int ret(0);
	while(pos>0){
		ret+=tr[pos];
		pos-=lowbit(pos);
	}
	return ret;
}
int n;
int a[50005],l[50005],r[50005];
typedef long long L;
inline int gg(){
	freopen("queueb.in","r",stdin);
	freopen("queueb.out","w",stdout);
	n=read();
	for(int i=1;i<=n;++i)
		a[i]=read()+1,mxw=max(mxw,a[i]);
	for(int i=1;i<=n;++i){
		l[i]=sum(a[i]-1);
		update(a[i],1);
	}
	memset(tr,0,sizeof(tr));
	for(int i=n;i>0;--i){
		r[i]=sum(a[i]-1);
		update(a[i],1);
	}
	L ans(0);
	for(int i=1;i<=n;++i)
		ans+=(L)l[i]*(L)r[i];
	printf("%lld",ans);
	return 0;
}
int K(gg());
int main(){;}