关于CSP-S2 2024 决斗
  • 板块灌水区
  • 楼主jefferw
  • 当前回复5
  • 已保存回复6
  • 发布时间2024/11/6 20:24
  • 上次更新2024/11/6 22:26:18
查看原帖
关于CSP-S2 2024 决斗
631554
jefferw楼主2024/11/6 20:24

CSP-S2 2024 决斗 ccf 说0分,我看内存似乎超了,还有必要申诉吗?

本人代码

#include <bits/stdc++.h>
using namespace std;
int n,ans=0,r[100000005],nn[100000005];
bool bu[100000005];//be used
int main()
{
	//freopen("duel.in","r",stdin);
	//freopen("duel.out","w",stdout);
	scanf("%d",&n);
	for(int i=1;i<=n;i++)
	{
		scanf("%d",&r[i]);
		//nn[i]=r[i];
	}
	sort(r+1,r+n+1);
	//for(int i=1;i<=n;i++)nn[i]=n2r[r[i]];
	//for(int i=1;i<=n;i++)printf("%d\n",r[i]);
	nn[n]=n;
	for(int i=n-1;i>=1;i--)
	{
		if(r[i]!=r[i+1])nn[i]=i+1;
		else nn[i]=nn[i+1];
	}
	for(int i=1;i<=n;i++)
	{
		for(int j=i+1;j<=n;j++)
		{
			if(r[i]==r[j])
			{
				j=nn[j];
			}
			if(r[i]==r[j]||bu[j])continue;
			ans++;
			bu[j]=1;
			//printf("%d(%d)&%d(%d)!\n",i,r[i],j,r[j]);
			break;
		}
	}
	printf("%d",n-ans);
	return 0;
}

2024/11/6 20:24
加载中...