Cod sursa(job #3131341)

Utilizator Ioana.SilviaLeahu Silvia-Ioana Ioana.Silvia Data 19 mai 2023 21:36:50
Problema Loto Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 1.26 kb
#include <bits/stdc++.h>
using namespace std;
ifstream f("loto.in");
ofstream g("loto.out");
int main() {
    int N, S, i, j , k, sum, x;
    unordered_map <int, vector<int>> triplet;
    vector <int> numere;
    f >> N >> S;
    ///in urmatorul for adaugam intr-un vector numerele pe care Gigel le poate folosi
    for (i=0; i<N; i++)
    {
        f >> x;
        numere.push_back(x);
    }
    ///cu ajutorul a trei for-uri voi genera toate posibilitatile de sume, pe care le voi adauga in map
    ///la fiecare suma creata, voi verifica daca nu exista deja o suma care sa completeze suma actuala incat sa ajungem la SUMA VISATA DE GIGEL
    for (i=0; i<N; i++){
        for ( j=i ; j< N; j++)
        {
            for (k=j; k<N ; k++){
                sum=numere[i]+numere[j]+numere[k];
                if (triplet.find(sum)==triplet.end())
                    triplet[sum]={numere[i], numere[j], numere[k]};
                if (triplet.find(S-sum)!=triplet.end()) {
                    g << triplet[sum][0] << " " << triplet[sum][1] << " " << triplet[sum][2] << " ";
                    g << triplet[S - sum][0] << " " << triplet[S - sum][1] << " " << triplet[S - sum][2] << " ";
                    return 0;
                }
            }
        }
    }
    g << -1;
    return 0;
}