Cod sursa(job #2747753)

Utilizator IoanaLiviaPopescuIoana Livia IoanaLiviaPopescu Data 29 aprilie 2021 16:50:03
Problema Loto Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 1.22 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;



}