记录编号 247440 评测结果 AAAAAAAAAA
题目名称 排序工作量 最终得分 100
用户昵称 GravatarGaoErFu 是否通过 通过
代码语言 C++ 运行时间 0.000 s
提交时间 2016-04-09 08:30:09 内存使用 0.07 MiB
显示代码纯文本
#include<stdio.h>
float a[10010]={0};
float b[10010]={0};
long long ans=0;
void msort(int l,int r)
{
	if(l>=r)return ;
	int mid,k=l,i,j,q;
	mid=(l+r)/2;
	msort(l,mid);
	msort(mid+1,r);
	i=l;
	j=mid+1;
	q=0;
	while(i<=mid&&j<=r)
	{
		if(a[i]<=a[j]){b[k++]=a[i++];ans+=q;}
		else if(a[i]>a[j]){b[k++]=a[j++];q++;}
	}
	while(i<=mid)
	{b[k++]=a[i++];ans+=q;}
	while(j<=r)
	{b[k++]=a[j++];}
	for(i=l;i<=r;i++)a[i]=b[i];
}
int co()
{
	freopen("sortt.in","r",stdin);
	freopen("sortt.out","w",stdout);
	int i,n,f=1;
	scanf("%d",&n);
	for(i=0;i<n;i++)
	{scanf("%f",&a[i]);}
	msort(0,n-1);
	printf("%lld",ans);
	return 0;
}
int cc=co();
int main(){;
}