分析
贪心,没有很好的证明把最小值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;
}