Run ID:6794

提交时间:2025-03-15 19:02:38

#include<iostream> using namespace std; int a[50001]; int cnt,n,k; void s1(){ for(int i=1;i<=n;i++){ if(a[i+1]<a[i]) { k=i+1; while(a[k]<a[i]&&k<=n){ cnt++; k++; } i=k-1; } } } void s2(){ k=1; for(int i=2;i<=n;i++){ if(a[i]<a[k]){ cnt++; } else k=i; } } void s3(){//此方法会多算,例如 3 9 6 4 10,会将94,64都认为是错的,4被算了2次 for(int i=1;i<n;i++){ for(int j=i+1;j<=n;j++){ if(a[j]<a[i]){ cnt++; //cout<<cnt<<" "; } } } } int main(){ cin>>n; for(int i=1;i<=n;i++) cin>>a[i]; k=1; for(int i=2;i<=n;i++){ if(a[i]<a[k]){ cnt++; } else k=i; } cout<<cnt<<endl; return 0; }