Run ID | 作者 | 问题 | 语言 | 测评结果 | 分数 | 时间 | 内存 | 代码长度 | 提交时间 |
---|---|---|---|---|---|---|---|---|---|
136559 | zhangyang | 学生排队 | C++ | 运行超时 | 60 | 1000 MS | 2584 KB | 554 | 2024-03-09 10:36:01 |
#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; }