Cod sursa(job #3240540)

Utilizator razvanmrt_06Mariuta Razvan razvanmrt_06 Data 16 august 2024 11:06:04
Problema Loto Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 1.03 kb
#include <fstream>
#include <unordered_map>

using namespace std;

const int Nmax = 105;
int n, a[Nmax];
long long s;

struct triplet{
    int i, j, k;
};

unordered_map <int, triplet> sume;

int main()
{
    ifstream fin("loto.in");
    ofstream fout("loto.out");
    fin >> n >> s;
    for(int i = 1; i <= n; i++){
        fin >> a[i];
    }
    for(int i = 1; i <= n; i++){
        for(int j = 1; j <= n; j++){
            for(int k = 1; k <= n; k++){
                sume[a[i]+a[j]+a[k]] = {a[i], a[j], a[k]};
            }
        }
    }

    for(int i = 1; i <= n; i++){
        for(int j = 1; j <= n; j++){
            for(int k = 1; k <= n; k++){
                int dif = s - a[i] - a[j] - a[k];
                if(sume.count(dif)){
                    triplet x = sume[dif];
                    fout << a[i] << ' ' << a[j] << ' ' << a[k] << ' ' << x.i << ' ' << x.j << ' ' << x.k << endl;
                    return 0;
                }
            }
        }
    }
    fout << -1;

    return 0;
}