警钟撅烂
查看原帖
警钟撅烂
1179661
Dryopithecus楼主2024/11/10 09:16

19行越界了一个元素导致爆零

** 100004不越界,100005越界爆零 **

#include<iostream>
#include<stdio.h>
using namespace std;
int n;
int cnt[100005];
int main()
{
	//freopen("duel.in","r",stdin);
	//freopen("duel.out","w",stdout);
	cin>>n;
	int x;
	for(int i=1;i<=n;i++)
	{
		scanf("%d",&x);
		cnt[x]++;
	}
	int rest=cnt[1],ans=n;
	for(int i=2;i<=100005;i++)
	{
		if(rest<=cnt[i])
		{
			ans-=rest;
			rest=cnt[i];
		}
		else
		{
			ans-=cnt[i];
		}
	}
	cout<<ans<<endl;
	//fclose(stdin);
	//fclose(stdout);
	return 0;
}
2024/11/10 09:16
加载中...