Cod sursa(job #3131938)

Utilizator lucapetchiPetchi Andrei Luca lucapetchi Data 21 mai 2023 21:49:22
Problema Loto Scor 0
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 1.44 kb
#include <iostream>
using namespace std;
#include  <fstream>
#include <tuple>
#include <vector>
#include <unordered_map>
ofstream out("loto.in");
ifstream in("loto.out");

int main()
{
    int n, nr[101], sumaLoto;
    unordered_map <int, tuple <int, int, int>> sum; 

    in >> n >> sumaLoto;

    for (int i = 0; i < n; i++)
    {
        in >> nr[i];
    }

    for (int i = 0; i < n; i++)
    {
        for (int j = i; j < n; j++)
        {
            for (int k = j; k < n; k++) 
            {
                int suma = nr[i] + nr[j] + nr[k];
                sum[suma] = make_tuple(nr[i], nr[j], nr[k]);
            }
        }
    }

    bool ok = 0;

    for (int i = 0; i < n && !ok; i++)
    {
        for (int j = i; j < n && !ok; j++)
        {
            for (int k = j; k < n && !ok; k++)
            {
                int suma = nr[i] + nr[j] + nr[k];    
                suma = sumaLoto - suma;                          
                if (sum.find(suma) != sum.end())            
                {
                    ok = 1;
                    tuple <int, int, int> tuplu;
                    tuplu = sum[suma];
                    out << nr[i] << " " << nr[j] << " " << nr[k] << " "
                        << get<0>(tuplu) << " " << get<1>(tuplu) << " " << get<2>(tuplu) << endl;
                }
            }
        }
    }

    if (!ok)   
    {
        out << "-1";
    }

    return 0;
}