hdu 5122
只要一个数的后面有比它小的数,这个数就要移,于是从后往前一趟遍历,记录一下这些数的个数就可以了。
#include"iostream" #include"stdio.h" #include"string.h" #include"cmath" #include"algorithm" #include"queue" #include"stack" #include"set" #include"map" #include"vector" using namespace std; const int mx=1000005; int num[mx]; int HANDLE(int n) { int i,tem=num[n-1],ans=0; for(i=n-2;i>=0;i--) { if(tem<num[i]) ans++; else tem=num[i]; } return ans; } int main() { int T,icase; cin>>T; for(icase=1;icase<=T;icase++) { int n; cin>>n; for(int i=0;i<n;i++) scanf("%d",&num[i]); printf("Case #%d: %d\n",icase,HANDLE(n)); } return 0; }