Cod sursa(job #3128586)

Utilizator TirilaPatricTirila Patric-Gabriel TirilaPatric Data 10 mai 2023 00:02:56
Problema Loto Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 1.2 kb
#include <iostream>
#include <fstream>
#include <unordered_map>
#include <vector>
using namespace std;


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

    unordered_map <int, vector<int>> ht;
    int n;
    long long s;

    f>>n>>s;
    int A[n+1];

    for(int i=1; i<=n; i++)
        f>>A[i];

    for(int i=1; i<=n; i++)
        for(int j=i; j<=n; j++)
            for(int k=j; k<=n; k++) {
                vector<int> p2 = {A[i], A[j], A[k]};
                ht[A[i] + A[j] + A[k]] = p2;
            }
    bool ok = 0;
    for(int i=1; i<=n; i++) {
        for (int j = i; j <= n; j++) {
            int sum1 = A[i]+A[j];
            for (int k = j; k <= n; k++) {
                int dif = s - (sum1+A[k]);
                if (ht.find(dif) != ht.end()) {
                    g << A[i] << " " << A[j] << " " << A[k] << " " << ht[dif][0] << " " << ht[dif][1] << " "
                      << ht[dif][2] << endl;
                    ok = 1;
                    break;
                }
            }
            if(ok) break;
        }
        if(ok) break;
    }
    if(!ok){
        g<<-1;
    }
    f.close();
    g.close();

    //    unordered_map<int, pair<int, int>> ht;
//
//    }


    return 0;
}