Cod sursa(job #2545181)

Utilizator AlexPascu007Pascu Ionut Alexandru AlexPascu007 Data 12 februarie 2020 21:22:27
Problema Loto Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.77 kb
#include <bits/stdc++.h>
using namespace std;
ifstream fin("loto.in");
ofstream fout("loto.out");
int n,s,i,j,k,a,b,c,d,e,f,v[110];
unordered_map<int, tuple<int,int,int> > m;
int main() {
    fin>>n>>s;
    for (i=1;i<=n;i++)
        fin>>v[i];
    sort(v+1,v+n+1);
    if (s>6*v[n]||s<6*v[1]) {
        fout<<"-1";
        return 0;
    }
    for (i=1;i<=n;i++)
        for (j=i;j<=n;j++)
            for (k=j;k<=n;k++)
                m[v[i]+v[j]+v[k]]=make_tuple(i,j,k);
    for (auto it:m) {
        if (m.find(s-it.first)!=m.end()) {
            tie(a,b,c)=it.second;
            tie(d,e,f)=m[s-it.first];
            fout<<v[a]<<" "<<v[b]<<" "<<v[c]<<" "<<v[d]<<" "<<v[e]<<" "<<v[f];
            return 0;
        }
    }
    fout<<"-1";
    return 0;
}