P2397 题解

题目传送门

本题可以发现 ai231a_i\leq 2^{31},所以不可以直接用桶排序。

但是 n2×106n\leq2\times10^6,所以至多会有 2×1062\times10^6 个数,因而可以离散化。

所以代码如下,但是不开 O2TLE\tt TLE

#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;
}
posted @   Weslie_qwq  阅读(2)  评论(0编辑  收藏  举报  
相关博文:
阅读排行:
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 提示词工程——AI应用必不可少的技术
· .NET周刊【3月第1期 2025-03-02】
点击右上角即可分享
微信分享提示