Pagini recente » Cod sursa (job #282512) | Cod sursa (job #436112) | Cod sursa (job #1509036) | Cod sursa (job #2164461) | Cod sursa (job #2868030)
#include<iostream>
#include<fstream>
#include<unordered_map>
using namespace std;
ifstream f("loto.in");
ofstream g("loto.out");
struct val{
int a,b,c;
};
unordered_map<int,val> ht;
int v[102],sol[6];
int main()
{
int n,s,curSum,done;
unordered_map<int,val>::const_iterator it;
f>>n>>s;
for(int i=1;i<=n;i++)
f>>v[i];
for(int i=1;i<=n;i++)
for(int j=1;j<=n;j++)
for(int k=1;k<=n;k++){
curSum=v[i]+v[j]+v[k];
it=ht.find(curSum);
if(it==ht.end()){
ht[curSum].a=v[i];
ht[curSum].b=v[j];
ht[curSum].c=v[k];
}
}
done=0;
for(int i=1;i<=n&&!done;i++)
for(int j=1;j<=n&&!done;j++)
for(int k=1;k<=n&&!done;k++){
curSum=v[i]+v[j]+v[k];
it=ht.find(s-curSum);
if(it!=ht.end()){
sol[0]=v[i];
sol[1]=v[j];
sol[2]=v[k];
sol[3]=it->second.a;
sol[4]=it->second.b;
sol[5]=it->second.c;
done=1;
}
}
if(!done)
g<<-1;
else
for(int i=0;i<6;i++)
g<<sol[i]<<' ';
g<<'\n';
f.close();
g.close();
return 0;
}