P2397 题解
题目传送门
本题可以发现 ,所以不可以直接用桶排序。
但是 ,所以至多会有 个数,因而可以离散化。
所以代码如下,但是不开 O2 会 。
#include<iostream>
#include<algorithm>
using namespace std;
long long a[2000001];
int n,cnt;
inline int read(){
int x=0,y=1;
char c=getchar();
while(c>'9'||c<'0'){
if(c=='-')y=-1;
c=getchar();
}
while(c>='0'&&c<='9'){
x=x*10+c-'0';
c=getchar();
}
return x*y;
}
struct node{
long long b,c;
}s[2000001];
int cmp(node p,node q){
if(p.c>q.c)return 1;
else return 0;
}
int main(){
n=read();
for(int i=1;i<=n;i++){
a[i]=read();
}
sort(a+1,a+n+1);
for(int i=1;i<=n;i++){
if(a[i]!=a[i-1]){
s[++cnt].b=a[i];
}
s[cnt].c++;
}
sort(s+1,s+cnt+1,cmp);
cout<<s[1].b;
return 0;
}

浙公网安备 33010602011771号