Pagini recente » Cod sursa (job #2951218) | Cod sursa (job #289670) | Cod sursa (job #1873131) | Cod sursa (job #2435367) | Cod sursa (job #2282584)
#include <fstream>
#include <algorithm>
#include <unordered_map>
using namespace std;
ifstream cin("loto.in");
ofstream cout("loto.out");
struct chestie{
int fr;
long long in[4];
};
unordered_map <long long, chestie>::iterator it;
unordered_map <long long,chestie> m;
long long n,s,s1,s2,i1,i2,i3,i4,i5,i6,sum,v[110],ok1,ok2,mx,w[10],mn;
int main()
{
cin>>n>>s;
mn=100000001;
for(int i=1; i<=n; i++)
cin>>v[i],mx=max(mx,v[i]),mn=min(mn,v[i]);
if(mx*6<s||mn*6>s)
{
cout<<-1<<'\n';
return 0;
}
for(int i=1; i<=n; i++)
for(int j=i; j<=n; j++)
for(int k=j; k<=n; k++)
{
sum=v[i]+v[j]+v[k];
it=m.find(s-sum);
if(it!=m.end()&&m[s-sum].fr!=0)
{
w[1]=v[m[s-sum].in[1]];
w[2]=v[m[s-sum].in[2]];
w[3]=v[m[s-sum].in[3]];
w[4]=v[i];
w[5]=v[j];
w[6]=v[k];
ok1=1;
}
m[sum].fr++;
m[sum].in[1]=i;m[sum].in[2]=j;m[sum].in[3]=k;
}
if(ok1)
{
sort(w+1,w+7);
for(int i=1;i<7;i++)
cout<<w[i]<<' ';
}
else cout<<-1<<'\n';
return 0;
}