玄关!站外题求助
  • 板块灌水区
  • 楼主gxy_q
  • 当前回复2
  • 已保存回复2
  • 发布时间2024/7/16 19:30
  • 上次更新2024/7/16 20:27:19
查看原帖
玄关!站外题求助
760622
gxy_q楼主2024/7/16 19:30

code:

#include<iostream>
#include<cstring>
#include<algorithm>
#define int long long
using namespace std;
const int N=2e5+5;
const int mod=1e6+7;
int a[mod],n,num[mod],head[mod],nxt[mod],ans,cnt,maxx;
int h(int x){
	return x%mod; 	
}
void insert(int val){
	int x=h(val);
	num[++cnt]=val;
	nxt[cnt]=head[x];
	head[x]=cnt;
}
int find(int val){
	int x=h(val);
	int res=0;
	for(int i=head[x];i;i=nxt[i]){
		if(num[i]==val) res++;
	}
	return res;
}
signed main(){
	cin>>n;
	for(int i=1;i<=n;i++) {
		cin>>a[i];
		insert(a[i]);
	}
	for(int i=1;i<=n;i++){
			int t=find(a[i]);
			//cout<<find(a[i])<<" ";
			if(t%2==0) {
				ans++;
				//cout<<a[i]<<" ";
			}
			else maxx=max(maxx,t);
	}
	cout<<ans+maxx;
	return 0;
}
2024/7/16 19:30
加载中...