比赛 2026.8.26 评测结果 AAAAAAAAAAAAATTTTTTTTTTTT
题目名称 sort 最终得分 52
用户昵称 yyswys 运行时间 3.792 s
代码语言 C++ 内存使用 4.53 MiB
提交时间 2026-08-26 10:02:15
显示代码纯文本
#include<bits/stdc++.h>

using namespace std;
const int N=2e6+5;
int n,a[N],f,ans;

int main(){
    freopen("sorttros.in","r",stdin);
    freopen("sorttros.out","w",stdout);
    ios::sync_with_stdio(0);
    cin.tie(0);cout.tie(0);
    cin>>n;
    for(int i(1);i<=n;++i){
        cin>>a[i];
    }
    for(int i(1);i<n;++i){
        int hs=-1;
        for(int j=n-i+1;j>=1;j--){
            if(a[j]==n-i+1){
                hs=j;
                break;
            }
        }
        if(hs>=3){
            f=1;
        }
        int maxn=-1;
        for(int j=n-i+1;j>=hs+1;j--){
            if(a[j]>maxn){
                ++ans;
                maxn=a[j];
            }
        }
        if(maxn!=n-i) ++ans;
         for(int j(1);j<=n-i;++j){
             if(a[j]>a[j+1]){
                 swap(a[j],a[j+1]);
             }
         }
    }
    if(f){
        ++ans;
    }
    cout<<ans;
    return 0;
}