Cod sursa(job #2892640)

Utilizator andriciucandreeaAndriciuc Andreea andriciucandreea Data 22 aprilie 2022 22:46:13
Problema Loto Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 1.17 kb
#include <iostream>
#include <fstream>
#include <unordered_map>

using namespace std;

ifstream fin("loto.in");
ofstream fout("loto.out");

struct Triplet{
    int x, y, z;
};


unordered_map <int, Triplet> v;

int main()
{
    int n, s, nr[101], sum = 0;
    fin>>n>>s;
    for(int i = 0; i < n; i++)
        fin>>nr[i];
    for(int i = 0; i < n; i++)
        for(int j = i; j < n; j++)
            for(int k = j; k < n; k++)
            {
                Triplet p;
                sum = 0;
                p.x = i;
                p.y = j;
                p.z = k;
                sum = nr[i] + nr[j] + nr[k];
                v[sum] = p;
            }
    for(int i = 0; i < n; i++)
        for(int j = i; j < n; j++)
            for(int k = j; k < n; k++)
            {
                sum = 0;
                sum = s - nr[i] - nr[j] - nr[k];
                if(v.find(sum) != v.end())
                {
                    Triplet q = v[sum];
                    fout<<nr[i]<<' '<<nr[j]<<' '<<nr[k]<<' '<<nr[q.x]<<' '<<nr[q.y]<<' '<<nr[q.z]<<'\n';
                    return 0;
                }
            }
    fout<<-1<<'\n';
    return 0;
}