Pagini recente » Cod sursa (job #1380149) | Istoria paginii utilizator/raluca321 | Cod sursa (job #678314) | Istoria paginii utilizator/patrunjelxd | Cod sursa (job #1181574)
#include <cstdio>
#include <unordered_map>
const int N=114;
using namespace std;
struct solve{
int suma,prim,secund,tert;
};
unordered_map <int,solve> hashin;
solve incerc;
int v[N];
int main()
{
int n,s;
freopen("loto.in","r",stdin);
freopen("loto.out","w",stdout);
scanf("%d%d",&n,&s);
for(int i=1;i<=n;++i)scanf("%d",v+i);
for(int i=1;i<=n;++i)
for(int j=i;j<=n;++j)
for(int k=j;k<=n;++k){
incerc.suma=v[i]+v[j]+v[k];
incerc.prim=v[i];
incerc.secund=v[j];
incerc.tert=v[k];
hashin[incerc.suma]=incerc;
}
for(unordered_map <int,solve> :: iterator start=hashin.begin();start!=hashin.end();++start){
unordered_map <int,solve> :: iterator gasit=hashin.find(s-(*start).second.suma);
if(gasit!=hashin.end()){
solve gasit1=(*start).second;
solve gasit2=(*gasit).second;
printf("%d %d %d %d %d %d\n",gasit1.prim,gasit1.secund,gasit1.tert,gasit2.prim,gasit2.secund,gasit2.tert);
return 0;
}
}
printf("-1");
return 0;
}