Cod sursa(job #1906427)

Utilizator sergiudnyTritean Sergiu sergiudny Data 6 martie 2017 13:59:46
Problema A+B Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.79 kb
#include <bits/stdc++.h>
#define pb push_back
#define mp make_pair
#define x first
#define y second
#define ll long long
using namespace std;
ifstream fin("concurs2.in");
ofstream fout("concurs2.out");

vector<int>jud[51],rez;
int n,a,b,mx,dc;
pair<int,int>sum[51];
bitset<51>e;

int main()
{
    fin>>n;
    for(int i=1;i<=n;++i){
        fin>>a>>b;
        jud[a].pb(b);
        mx=max(a,mx);
    }
    for(int i=1;i<=mx;++i){
        if(!jud[i].empty()){
            dc++;
            sum[dc]=mp(jud[i].size(),i);
        }
    }
    for(ll i=0;i<(1<<dc);++i){
        int s1=0;
        for(int j=0;j<=dc;++j)
            if(i & (1<<j))
                s1+=sum[j+1].x,rez.pb(sum[j+1].y);
        if(s1==n/2) break;
        rez.clear();
    }


    return 0;
}