P9421 [蓝桥杯 2023 国 B] 班级活动 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn)
#include<bits/stdc++.h>
using namespace std;
const int N = 2e5+10,M = 1e3+10;
int a[N];
int main()
{
int n;cin>>n;
map<int,int>mp;
for(int i=1;i<=n;i++)
{
int x;cin>>x;
mp[x]++;
}
int cnt1=0,cnt2=0;
for(auto i:mp)
{
if(i.second>=2)cnt1+=i.second-2;//成对多的
else
cnt2++;//单个的
}
if(cnt1>cnt2)//成对多的
{
cout<<cnt1;
}
else
{
cout<<cnt1+(cnt2-cnt1)/2;
}
return 0;
}