提交时间:2024-03-09 10:36:01

运行 ID: 136559

#include<algorithm> #include<iostream> using namespace std; const int N=1e5+100; #define int long long int n,ans=0; struct node{ int s,c,n; }a[N]; signed main(){ cin>>n; for(int i=1;i<=n;i++){ cin>>a[i].n; a[i].s=a[i].c=0; } for(int i=1;i<n;i++){ bool flag=1; for(int j=1;j<n;j++){ if(a[j].n>a[j+1].n){ flag=0; a[j].c++; a[j+1].c++; a[j].s+=a[j].c; a[j+1].s+=a[j+1].c; swap(a[j],a[j+1]); } }if(flag) break; } for(int i=1;i<=n;i++){ ans+=a[i].s; } cout<<ans; return 0; }