比赛 20241125 评测结果 AAEEWWWAAW
题目名称 又是决斗 最终得分 40
用户昵称 孤独的氢离子 运行时间 2.168 s
代码语言 C++ 内存使用 3.60 MiB
提交时间 2024-11-25 10:00:21
显示代码纯文本
#include <bits/stdc++.h>
using namespace std;
int n;
int a[100010],b[100010],c[100010];
 
int main()
{
    freopen("duela.in","r",stdin);
    freopen("duela.out","w",stdout);
    cin>>n;
    int k=0;
	for(int i=1;i<=n;i++) 
    {
    	cin>>a[i];
    	int s=0;
    	for(int j=1;j<=k;j++)
    	{
    		if(a[i]==b[j]) 
			{
				s=1;
				c[b[j]]++;
				break;
			}
    		if(j==k&&s==0)
    		{
    			k++;
    			b[k]=a[i];
    			c[b[k]]++;
    			break;
    		}
    	}
    	if(k==0)
    	{
    		k++;
    		b[k]=a[i];
    		c[b[k]]++;
    	}
    }
    sort(b+1,b+1+k);
    int r=1,l=2;
    while(r<k&&l<=k)
    {
    	
    	if(c[b[r]]<=c[b[l]])
    	{
    		c[b[l]]=c[b[l]]-c[b[r]];
    		c[b[r]]=0;
    	}
    	else
    	{
    		c[b[r]]-=c[b[l]];
    		c[b[l]]=0;
    	}
		while(c[b[r]]<=0&&r<=k+1)
    	{
    		r++;
    	}
    	while(c[b[l]]<=0&&l<=k+1)
    	{
    		l++;
    	}
    }
    int m=0;
    for(int i=1;i<=k;i++)
    {
    	m=m+c[b[i]];
    }
    cout<<m;
    
	return 0;
}