比赛 20251026新安模拟赛2 评测结果 WAWTAAAAAAWWWWWTTTTT
题目名称 决斗 最终得分 35
用户昵称 zllzyh 运行时间 12.178 s
代码语言 C++ 内存使用 3.85 MiB
提交时间 2025-10-26 09:36:26
显示代码纯文本
#include<bits/stdc++.h>
using namespace std;

const int N=1e5+5;
int n,ans;
int a[N];
int num[N]={0};
int nn=0;

int main()
{
	freopen("duel.in","r",stdin);
	freopen("duel.out","w",stdout);
	cin>>n;
	for(int i=1;i<=n;i++){
		cin>>a[i];
		num[a[i]]++;
		if(a[i]!=1&&a[i]!=2) nn++;
	}
	if(nn==0){
		if(num[1]>num[2]) cout<<num[1]<<endl;
		else cout<<num[2]<<endl;
	}
	else{
		int j=2;
		while(num[j]) 
		{
			num[j]+=num[j-1];j++;
		}
		sort(a+1,a+n+1);
		ans=n;
		j=1;
		int m=a[1];
		m=num[m]+1;
		for(int i=m;i<=n;i++){
			if(a[i]>a[j]){
				ans--;
				i++;
				j++;
			}
			else{
				i=num[a[i]+1]+1;
			}
		}
		cout<<ans-1;
	}
	return 0;
}