Source code
#include <iostream>
#include<vector>
#include<string>
#include<math.h>
#include<set>
#include<map>
#include<list>
#include<stack>
#include<queue>
#include <fstream>
#include<iterator>
#include<algorithm>
#include <iomanip> // std::setprecision
/* ==================================================
| |
| Author: *** S. M. Sabiul Hajjaj Sabit *** |
| Last Edit: May,14,2019 |
================================================== */
///***global declaration***///
#define all(arr) arr.begin(),arr.end()
#define pb push_back
#define lb lower_bound
#define up upper_bound
#define sz(x) x.size()
#define min3(a,b,c) min(min(a,b),c)
#define max3(a,b,c) max(max(a,b),c)
#define lli long long int
using namespace std;
int j,n,m,sum=0,ans=0;
template <typename T>long long int power(T a, T b)
{
long long int pow=1;
for(int i=0; i<b; i++)
pow *= a;
return pow;
}
/////*********Write Code From Here*********///
int main()
{
int n,k;
vector<int>arr;
vector<int>data;
cin>>n>>k;
for(int i=0; i<1200; i++)
{
data.pb(0);
}
for(int i=0; i<n; i++)
{
int t;
cin>>t;
arr.pb(t);
data[t]++;
}
int count=0,a,ans=0;
for(int i=1; i<=k; i++)
{
if(data[i]>0)
{
a = data[i]/2;
if(a>=1)
ans +=(a*2);
if(data[i]%2!=0)count++;
}
}
if(count%2!=0)count++;
cout<<ans+count/2<<endl;
}
Add your comment