85 玄关求调
查看原帖
85 玄关求调
1170046
Yuiu2233楼主2024/10/28 18:33

如下,洛谷自测85,赛时样例全过

#include<bits/stdc++.h>
using namespace std;
const int N=1e5+20;
int n,r[N],ans;
int minnum=1,minf;

inline int read(){
	int x=0,k=1;char c=getchar();
	while(c<'0'||c>'9'){if(c=='-') k=-1;c=getchar();}
	while(c>='0'&&c<='9'){x=(x<<1)+(x<<3)+(c^48);c=getchar();}
	return x*k;
}

int main(){
    n=read();
    ans=n;
    for(int i=1;i<=n;i++) r[i]=read();
    sort(r+1,r+n+1);
    minf=r[1];
    for(int i=2;i<=n;i++){
        if(r[i]==minf)
            minnum++;
        else{
            if( (ans-minnum) >=minnum ){
				minf=r[i];
                ans-=minnum;
				minnum=1;
            }
            else{
                ans-=(ans-minnum);
                break;
            }
        }
    }
    cout<<ans;
    return 0;
}
2024/10/28 18:33
加载中...