Cod sursa(job #3128994)

Utilizator RealDream21Fabian-Andrei RealDream21 Data 11 mai 2023 22:02:56
Problema Loto Scor 15
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 1.24 kb
#include <iostream>
#include <fstream>
#include <unordered_map>
#include <vector>

using namespace std;


int f_hash(int n, int p)
{
    return n % p;
}

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

    int p = 666013, n, s, x, v[105];
    unordered_map<int, vector<int>> sume;
    fin >> n >> s;
    for(int i = 0; i < n; i++){
        fin >> v[i];
    }

    for(int i = 0; i < n; i++)
        for(int j = i ; j < n; j++)
            for(int k = j; k < n; k++)
                sume[v[i] + v[j] + v[k]] = {v[i], v[j], v[k]};

    bool found = false;
    for (auto suma_partiala: sume){
        int ramas = s - suma_partiala.first;
        for(int i = 0; i < n && !found; i++){
            for(int j = 0; j < n && !found; j++)
                for(int k = 0; k < n && !found; k++){
                    if(v[i] + v[j] + v[k] + suma_partiala.first == s){
                        found = true;
                        fout << v[i] << " " << v[j] << " " << v[k] << " ";
                        for(auto el: suma_partiala.second)
                            fout << el << " ";
                    }
                }
        }
    }
    if(found == false)
        fout << -1;

    return 0;
}