luo's oj p1734排序XM

题目链接

分析

贪心,没有很好的证明把最小值minv置为a[n],不停地作比较,把之前的比minv大的a[i]往后交换,并不断交换最小值

#include<bits/stdc++.h>
#define N 5000010
using namespace std;
int n,a[N];
int main(){
    scanf("%d", &n);
    for(int i=1;i<=n;i++)scanf("%d",&a[i]);
    int minv=a[n],ans=0;
    for(int i=n-1;i>0;i--){
        if(a[i]>minv)ans++;
        minv=min(minv,a[i]);
    }
    printf("%d",ans);
    return 0;
}

猜你喜欢

转载自blog.csdn.net/qq_36316033/article/details/80963314
OJ