记录编号 548945 评测结果 AAAAAAAAAA
题目名称 排序工作量-加强版 最终得分 100
用户昵称 Gravatarムラサメ 是否通过 通过
代码语言 C++ 运行时间 1.386 s
提交时间 2020-02-03 11:22:41 内存使用 13.85 MiB
显示代码纯文本
  1. #include<bits/stdc++.h>
  2. using namespace std;
  3. int a[50001];
  4. int solve(int l,int r){
  5. int ans=0;
  6. if(l>=r) return 0;
  7. int m=(l+r)>>1;
  8. ans+=solve(l,m); sort(a+l,a+m+1);
  9. ans+=solve(m+1,r); sort(a+m+2,a+r+1);
  10. for(int i=m+1;i<=r;i++){
  11. if(a[m]<=a[i]) continue;
  12. ans+=m-(upper_bound(a+l,a+m,a[i])-(a+1));
  13. }
  14. return ans;
  15. }
  16. int main(){
  17. freopen("px.in","r",stdin);
  18. freopen("px.out","w",stdout);
  19. int n;
  20. scanf("%d",&n);
  21. for(int i=1;i<=n;i++){
  22. cin>>a[i];
  23. }
  24. cout<<solve(1,n)<<endl;
  25. return 0;
  26. }