Accepted solution

1195A - Drinks Choosing

Open original problem
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;

}
Join the discussion

Add your comment