Cod sursa(job #2624528)

Utilizator ADINAIOANA-BORTAAdina Borta ADINAIOANA-BORTA Data 4 iunie 2020 22:37:41
Problema Loto Scor 0
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 1.31 kb
#include <iostream>
#include <fstream>
#include <unordered_map>
using namespace std;

int main()
{
    int n, s;
    int numere[101];
    unordered_map<int, vector<int>> sume;
    ifstream in("loto.in");
    ofstream out("loto.out");
    in >> n >> s;
    for (int i = 0; i < n; i++) {
        in >> numere[i];
    }
    int suma_partiala, i = 0;

    while(i < n) {
        vector<int> x(3);
        for (int j = i; j < n; j++) {
            for (int k = j; k < n; k++) {
                suma_partiala = numere[i] + numere[j] + numere[k];
                if (sume.count(suma_partiala) == 0)
                {
                    sume[suma_partiala] = vector<int>();
                    sume[suma_partiala].push_back(numere[i]);
                    sume[suma_partiala].push_back(numere[j]);
                    sume[suma_partiala].push_back(numere[k]);
                    if (sume.count(s - suma_partiala) > 0)
                        break;
                }
            }
        }
        i++;
    }


    if (i >= n+2) {
        out << -1;
    }
    else
    {
        for (int i = 0; i < 3; i++) {
            out << sume[suma_partiala][i] << " ";
        }
        for (int i = 0; i < 3; i++) {
            out << sume[s-suma_partiala][i] << " ";
        }
    }



    return 0;
}