## #include <bits/stdc++.h>using namespace std;const int N = 200010;int a[N],n,cnt[N],idx,ans;int main() {cin>>n;for(int i=1;i<=n;i++)cin>>a[i],cnt[a[i]]++,idx = max(idx,a[i]);for(int i=1;i<idx;i++) if(cnt[i]%2) ans++;ans = ans/2+ans%2,cout<<ans;}其实用桶计数,计算出每种数出现的个数那么出现了偶数次的是不用操作的,然后计算除了最大值以外有几种数出现了奇数次比如说有:3个1,5个2那么把其中的1变成2就能同时让两个出现奇数次的数变成偶数次,最后再把剩下的那个数变成最大值就行