Cod sursa(job #2742003)

Utilizator oporanu.alexAlex Oporanu oporanu.alex Data 19 aprilie 2021 22:09:35
Problema Loto Scor 55
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 1.17 kb
#include <iostream>
#include <fstream>
#include <bits/stdc++.h>

using namespace std;

ifstream f("loto.in");
ofstream g("loto.out");

unordered_map <int, vector<int>> ijk;
unordered_map <int, int> m;

int main()
{
    int N, S, numere[105];

    f >> N;
    f >> S;

    int c = 0;

    unsigned i, j, k;

    for (i = 0; i < N; i++)
        f >> numere[i];
    for (i = 0; i < N; i++)
        for (j = 0; j < N; j++)
            for (k = 0; k < N; k++)
                {
                 ijk[numere[i] + numere[j] + numere[k]] = vector<int>{i, j, k};
                }

    unordered_map <int, vector<int>> :: iterator itr;

    int ok = 0;

    for(itr = ijk.begin(); itr != ijk.end(); itr++)
			if (ijk.find(S - itr->first)!= ijk.end())
               {
                   g << numere[ijk[itr->first][0]] << " " <<numere[ijk[itr->first][1]] <<" "<< numere[ijk[itr->first][2]] << " ";
                   g << numere[ijk[S - itr->first][0]] << " " <<numere[ijk[S - itr->first][1]] <<" "<< numere[ijk[S - itr->first][2]] << "\n";
                   ok = 1;
                   break;
               }
    if (!ok)
        g << -1;


    return 0;
}