Cod sursa(job #2747751)

Utilizator IoanaLiviaPopescuIoana Livia IoanaLiviaPopescu Data 29 aprilie 2021 16:49:03
Problema Loto Scor 95
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 1.17 kb
#include <iostream>
#include <fstream>
#include <vector>
#include <unordered_map>

using namespace std;

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

vector <int> v;  // numere loto

struct set{
    int s1, s2, s3;
};


unordered_map <int, set> sume;

int main(){

    int N, S, x, sum;
    bool ok = false;

    f >> N >> S;

    for(int i = 0; i < N; i++){
        f >> x;
        v.push_back(x);
    }

    for(int i = 0; i < N; i++)
        for(int j = i; j < N; j++)
            for(int k = j; k < N; k++){

                sum = v[i] + v[j] + v[k];

                if(S > sum){
                    set s;
                    s.s1 = v[i];
                    s.s2 = v[j];
                    s.s3 = v[k];

                    sume.insert(pair<int, set> (sum, s)); }

                if(S > sum && sume.find(S - sum) != sume.end()){
                    g << v[i] << " " << v[j] << " " << v[k] << " ";
                    g << sume[S - sum].s1 << " " << sume[S - sum].s2<< " " << sume[S - sum].s3;

                    i = N;
                    j = i;
                    k = j;
                    ok = true; }
                }

    if(ok == false)
        g << -1;

    return 0;

}