Cod sursa(job #1995106)

Utilizator richieYRichie Yeung richieY Data 26 iunie 2017 23:01:22
Problema Loto Scor 10
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.1 kb
#include <iostream>
#include <fstream>
#include <unordered_map>
#include <tuple>

using namespace std;

int main() {
    int N, S;

    ifstream fin("loto.in");

    fin >> N >> S;
    
    int num[N];
    
    for(int i = 0; i < N; i++) {
        fin >> num[i];
    }
    
    unordered_map<int, tuple<int,int,int>> SUM;
    for(int i = 0; i < N; i++) {
        for(int j = i; j < N; j++) {
            for(int k = j; k < N; k++) {
                SUM[num[i] + num[j] + num[k]] = make_tuple(num[i],num[j],num[k]);
                // cout << num[i] << " " << num[j] << " " << num[k] << endl;
            }
        }
    }

    ofstream fout("loto.out");

    for(int i = 0; i < S; i++) {
        if(SUM.count(i) > 0 && SUM.count(S-i) > 0) {
            fout << get<0>(SUM[i]) << " ";
            fout << get<1>(SUM[i]) << " ";
            fout << get<2>(SUM[i]) << " ";
            fout << get<0>(SUM[S-i]) << " ";
            fout << get<1>(SUM[S-i]) << " ";
            fout << get<2>(SUM[S-i]) << " ";
            return 0;
        }
    }
    
    fout << -1;
    return 0;
}