为什么我5到10和16到20测试点会RE???
早知道写桶排就好了
#include<bits/stdc++.h>
using namespace std;
#define ll long long
struct stu{
ll val,s;
}d[100005];
ll n,j=1,ans;
bool cmp(stu x,stu y){
return x.val<=y.val;
}
int main(){
cin>>n;
for(ll i=1;i<=n;i++){
cin>>d[i].val;
}
sort(d+1,d+1+n,cmp);
for(ll i=2;i<=n;i++){
if(d[i].val<=d[j].val||d[i].s==1) continue;
if(d[i].val>d[j].val&&i!=j&&d[j].s==0){
d[j].s=1;
j++;
continue;
}
while(d[i].val<=d[j].val||d[j].s==1){
j++;
}
}
for(ll i=1;i<=n;i++){
if(d[i].s==0) ans++;
}
cout<<ans;
return 0;
}