记录编号 |
144380 |
评测结果 |
AAAAAAAAAA |
题目名称 |
排序工作量 |
最终得分 |
100 |
用户昵称 |
Satoshi |
是否通过 |
通过 |
代码语言 |
C++ |
运行时间 |
0.036 s |
提交时间 |
2014-12-22 20:01:22 |
内存使用 |
0.47 MiB |
显示代码纯文本
#include <fstream>
using namespace std;
int n,ans=0;double p[10001],b[10001];
int megersort(int l,int mid,int r)
{
int i=l,j=mid+1;
int k=i;
while(i<=mid&&j<=r)
{
if(b[i]>b[j])
{
p[k++]=b[j++];
ans+=mid-i+1;
ans%=99999997;
}
else p[k++]=b[i++];
}
while(i<=mid)p[k++]=b[i++];
while(j<=r)p[k++]=b[j++];
for(i=l;i<=r;i++)b[i]=p[i];
return 0;
}
int meger(int l,int r)
{
if(l==r)return 0;
int mid=(l+r)>>1;
meger(l,mid);
meger(mid+1,r);
megersort(l,mid,r);
}
int main()
{
int i;
ifstream in("sortt.in");
ofstream out("sortt.out");
in>>n;
for(i=1;i<=n;i++)in>>b[i];
meger(1,n);
out<<ans<<endl;
in.close();
out.close();
return 0;
}