Pagini recente » Cod sursa (job #2628167) | Istoria paginii runda/simulare-cartita-41/clasament | Cod sursa (job #1841932) | Cod sursa (job #2282342) | Cod sursa (job #2545142)
#include <bits/stdc++.h>
using namespace std;
ifstream fin("loto.in");
ofstream fout("loto.out");
int n,s,i,j,k,a,b,c,v[110],sp;
map<int,int> m;
map<int, tuple<int,int,int> > t;
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=1;j<=n;j++)
for (k=1;k<=n;k++) {
m[v[i]+v[j]+v[k]]=1;
t[v[i]+v[j]+v[k]]=make_tuple(i,j,k);
}
for (i=1;i<=n;i++)
for (j=1;j<=n;j++)
for (k=1;k<=n;k++) {
sp=v[i]+v[j]+v[k];
if (m[s-sp]==1) {
tie(a,b,c)=t[s-sp];
fout<<v[a]<<" "<<v[b]<<" "<<v[c]<<" "<<v[i]<<" "<<v[j]<<" "<<v[k];
return 0;
}
}
fout<<"-1";
return 0;
}