n=int(input())
m=list(map(int,input().strip().split()))
s={}
for i in range(n):
if m[i] not in s:
s[m[i]]=1
else:
s[m[i]]+=1
print(s)
sum=0
c=0
for item,index in s.items():
if index>2:
sum+=(index-2)
elif index==1:
c+=1
if sum>c:
print(sum)
else:
print(sum+(c-sum)//2)
'''111 统计id大于2后的个数才c2+=c总-2
222 统计id人数小于2(id人数为1 的人的个数)c1
1 if c2>=c1:更改的最小次数就是C2
2 if c2<c1 :先将c2进行匹配,还剩下(c1-c2)个单个的id没有进行匹配,那么固定其中的一半id 然后剩下的一半id和固定的id分别进行匹配.最小操作次数为c2+(c1-c2)/2
'''
蓝桥杯训练10——班级活动
于 2024-11-24 22:01:20 首次发布