Cod sursa(job #1901216)

Utilizator felixiPuscasu Felix felixi Data 3 martie 2017 20:06:23
Problema Loto Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.15 kb
#include <bits/stdc++.h>

using namespace std;

ifstream in("loto.in");
ofstream out("loto.out");

typedef long long I64;

const int NMAX = 100;

map <int, pair<pair<short int,short int>,short int> > MP;
int v[NMAX+2];
int N, S;

int main()
{
    in >> N >> S;
    for( int i = 1;  i <= N;  ++i ) {
        in >> v[i];
        for( int j = 1;  j <= i;  ++j ) {
            for( int k = 1;  k <= j;  ++k ) {
                MP[ v[i]+v[j]+v[k] ] = { {i,j}, k };
            }
        }
    }
    for( int i = 1;  i <= N;  ++i ) {
        for( int j = 1;  j <= i;  ++j ) {
            for( int k = 1;  k <= j;  ++k ) {
                int cat = S - ( v[i]+v[j]+v[k] );
                if( MP[cat].second != 0 ) {
                    auto pp = MP[cat];
                    int a = pp.first.first;
                    int b = pp.first.second;
                    int c = pp.second;
                    out << v[i] << ' ' << v[j] << ' ' << v[k] << ' ';
                    out << v[a] << ' ' << v[b] << ' ' << v[c] << '\n';
                    return 0;
                }
            }
        }
    }
    out << "-1\n";
    return 0;
}