记录编号 |
427942 |
评测结果 |
AAAAAAAAAA |
题目名称 |
排序工作量-加强版 |
最终得分 |
100 |
用户昵称 |
@@@ |
是否通过 |
通过 |
代码语言 |
C++ |
运行时间 |
0.083 s |
提交时间 |
2017-07-23 22:28:24 |
内存使用 |
6.12 MiB |
显示代码纯文本
#include <fstream>
using namespace std;
ifstream cin("px.in");
ofstream cout("px.out");
int n;
int a[50001],t[50001];
int ans = 0;
void sort(int x,int y)
{
if(y - x > 1)
{
int m = x+(y-x)/2;
int p = x,q = m,i = x;
sort(x,m);
sort(m,y);
while(p < m || q < y)
{
if(q >= y || (p < m && a[p] <= a[q]))
{
t[i++] = a[p++];
}
else
{
t[i++] = a[q++];
ans+=m-p;
}
}
for(i = x;i < y;i++)
{
a[i] = t[i];
}
}
}
int cyf()
{
int i ,j;
cin >> n;
for(i = 1;i <= n;i++)
{
cin >> a[i];
}
sort(1,n+1);
cout << ans;
cin.close();
cout.close();
return 0;
}
int hhhh = cyf();
int main() {;}