Cod sursa(job #2894021)

Utilizator KataIsache Catalina Kata Data 27 aprilie 2022 01:18:23
Problema Loto Scor 95
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 1.03 kb
#include <bits/stdc++.h>
using namespace std;
ifstream fin("loto.in");
ofstream fout("loto.out");



int main()
{
    int v[101],n,s,suma;
    pair <int, pair <int, int>> triplet;
    unordered_map <int, pair <int, pair <int, 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=0; j<n; j++)
            for(int k=0; k<n; k++){
                suma=v[i]+v[j]+v[k];
                if(suma<s){
                    triplet.first=i;
                    triplet.second.first=j;
                    triplet.second.second=k;
                    sume[suma]=triplet;
                }
                if(sume.find(s-suma)!= sume.end())
                {
                    fout<<v[i]<<" "<<v[j]<<" "<<v[k]<<" ";
                    triplet=sume[s-suma];
                    fout<<v[triplet.first]<<" "<<v[triplet.second.first]<<" "<<v[triplet.second.second];
                    goto en;
                }
            }
    fout<<-1;
    en:
    return 0;
}