| 比赛 |
2026.8.26 |
评测结果 |
AAAAAAAAAAAAAEEEEEEEETTTT |
| 题目名称 |
sort |
最终得分 |
52 |
| 用户昵称 |
rzzakioi |
运行时间 |
3.095 s |
| 代码语言 |
C++ |
内存使用 |
12.67 MiB |
| 提交时间 |
2026-08-26 10:13:12 |
显示代码纯文本
#include<bits/stdc++.h>
#define int long long
using namespace std;
int n,a[2000005],b[2000005],t[2000005];
bool ans[4005][4005];
signed main(){
freopen("sorttros.in","r",stdin);
freopen("sorttros.out","w",stdout);
scanf("%lld",&n);
for(int i=1;i<=n;i++)scanf("%lld",&a[i]);
for(int i=1;i<=n;i++){
for(int j=1;j<=n;j++){
t[j]=0;
b[j]=a[j];
}
int nxt=n-i+1;
for(int j=1;j<=n-i;j++){
t[b[j]]=1;
while(t[nxt])nxt--;
if(a[j]>a[j+1]){
ans[n-i+1][nxt]=1;
swap(a[j],a[j+1]);
}
else{
if(a[j+1]==n-i+1)ans[n-i+1][n-i]=1;
else ans[n-i+1][n-i+1]=1;
}
}
}
int res=0;
bool flag=0;
for(int i=1;i<=n;i++){
for(int j=1;j<=i;j++){
if(i!=j&&ans[i][j])res++;
if(i==j&&ans[i][j]&&!flag){
flag=1;
res++;
}
}
}
printf("%lld",res);
return 0;
}