| 比赛 |
2026.8.26 |
评测结果 |
AAAAAAAAAAAAAAAAAAAAAAAAT |
| 题目名称 |
sort |
最终得分 |
96 |
| 用户昵称 |
郑霁桓 |
运行时间 |
1.094 s |
| 代码语言 |
C++ |
内存使用 |
7.01 MiB |
| 提交时间 |
2026-08-26 12:27:36 |
显示代码纯文本
#include<bits/stdc++.h>
using namespace std;
int n,a[2000006],b[2000006],lt,op;
long long as;
priority_queue<int>q;
int main(){
freopen("sorttros.in","r",stdin);
freopen("sorttros.out","w",stdout);
ios::sync_with_stdio(false);
cin.tie(0);
cout.tie(0);
cin>>n,as=n,op=1;
for(int i=1;i<=n;i++) cin>>a[i],q.push(-i),b[a[i]]=i;
for(int i=n;i>=1;i--) if(a[i]>lt) as+=max(0,n-a[i]-1),lt=a[i];
for(int i=n;i>=1;i--){
int p1=-q.top();
if(p1==b[i]){
q.pop();
continue;
}
q.pop();
if(-q.top()!=b[i]){
op=0;
break;
}
q.pop();
q.push(-p1);
}
if(op) as--;
cout<<as;
return 0;
}