#include<bits/stdc++.h>
using namespace std;
using ll = long long int;
using vi = vector<int>;
using vii = vector<vi>;
#define REP(i,n) for(int (i)=0;(i)<(n);(i)++)
#define FOR(i, a, b) for(int (i) = a; (i) < (b);(i)++)
#define MAX(a, b) ((a > b) ? a : b)
#define MIN(a, b) ((a > b) ? b : a)
int gcd(int a,int b){return b?gcd(b,a%b):a;}
int dx[4]={1,0,-1,0};
int dy[4]={0,1,0,-1};
int main(){
int n, shurui = 0;
map<int, int> DATA;
scanf("%d", &n);
REP(i, n){
int tmp;
scanf("%d",&tmp);
if(DATA[tmp] == 0){
shurui++;
DATA[tmp] = 1;
}
}
if((n - shurui) % 2 == 1){
shurui--;
}
cout << shurui << "\n";
return 0;
}
./Main.cpp: In function ‘int main()’:
./Main.cpp:20:18: warning: ignoring return value of ‘int scanf(const char*, ...)’, declared with attribute warn_unused_result [-Wunused-result]
scanf("%d", &n);
^
./Main.cpp:23:21: warning: ignoring return value of ‘int scanf(const char*, ...)’, declared with attribute warn_unused_result [-Wunused-result]
scanf("%d",&tmp);
^