Cod sursa(job #2894133)

Utilizator iulia.talpalariuIulia-Georgiana Talpalariu iulia.talpalariu Data 27 aprilie 2022 13:41:40
Problema Loto Scor 75
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 1.42 kb
#include <fstream>
#include<unordered_map>


int main()
{
    std::ifstream fileIn("loto.in");
    std::ofstream fileOut("loto.out");
    int v[100];
    std::unordered_map<int, std::tuple<short,short,short>> multime;
    short n;
    int suma;
    int x;
    fileIn >> n >> suma;
    int maxim = -1;


    for (int i = 0; i < n ; i++) {

        fileIn >> x;
        v[i] = x;
    }




   for(int i= 0; i < n; i++)
        for (int j = 0; j < n; j++)
            for (int k = 0; k < n; k++) {
                std::tuple<short,short,short> tuplu (i,j,k);
                if (multime.find(suma-(v[i] + v[j]+ v[k]))!= multime.end()) {
                    std::tuple<short,short,short> tuplu2;
                    tuplu2 = (*multime.find(suma-(v[i] + v[j]+ v[k]))).second;

                    fileOut << v[std::get<0>(tuplu2)] << ' ';
                    fileOut << v[std::get<1>(tuplu2)]<< ' ';
                    fileOut << v[std::get<2>(tuplu2)]<< ' ';

                    fileOut << v[std::get<0>(tuplu)] << ' ';
                    fileOut << v[std::get<1>(tuplu)]<< ' ';
                    fileOut << v[std::get<2>(tuplu)]<< ' ';

                    return 0;


                }
                std::pair<int, std::tuple<short,short,short>>perechea ((v[i] + v[j]+ v[k]), tuplu);
                multime.insert(perechea);
        }



    fileOut << -1;

    return 0;

}