題目
題意
有n張畫,每張畫有對(duì)應(yīng)的評(píng)分。問(wèn)重新排序后,最大的滿足s[i-1]<s[i]的數(shù)。
參考了其他作者的思路和代碼。排序后找滿足條件的數(shù)字組,但只能交換一次,所以利用結(jié)構(gòu)體判斷是否交換過(guò)。
代碼
#include<bits/stdc++.h>
using namespace std;
struct node{
int b,f;
}s[1000];
int cmp(node a,node b){
return a.b<b.b;
}
int main() {
int n,ans=0;
cin>>n;
for(int i=0; i<n; i++) {
cin>>s[i].b;
s[i].f=0;
}
sort(s,s+n,cmp);
for(int i=0;i<n;i++){
for(int j=i+1;j<n;j++){
if(s[i].b<s[j].b && s[j].f==0){
ans++;
s[j].f=1;
break;
}
}
}
cout<<ans;
return 0;
}