Pagini recente » Cod sursa (job #1495546) | Cod sursa (job #538262) | Cod sursa (job #2289053) | Cod sursa (job #1502670) | Cod sursa (job #2325800)
#include <iostream>
#include <fstream>
#include <vector>
using namespace std;
ifstream fin("loto.in");
ofstream fout("loto.out");
int n,s,i,j,l,nr,md=666013;
int v[105];
struct per
{ int s,t1,t2,t3; } z;
vector<per> H[666013];
void adaug(int s,int t1,int t2,int t3)
{
int id=s%md,ok=1;
for(auto i:H[id])
if(i.s==s) ok=0;
if(ok) H[id].push_back({s,t1,t2,t3});
}
per vezi(int s)
{
int id=s%md;
for(auto i:H[id])
if(i.s==s)
return i;
return {0,0,0,0};
}
int main() {
fin>>n>>s;
for(i=1;i<=n;i++)
fin>>v[i];
for(i=1;i<=n;i++)
for(j=1;j<=n;j++)
for(l=1;l<=n;l++)
adaug(v[i]+v[j]+v[l], v[i], v[j], v[l]);
for(i=1;i<=n;i++)
for(j=1;j<=n;j++)
for(l=1;l<=n;l++)
{
nr=v[i]+v[j]+v[l];
if(vezi(s-nr).s)
{
z=vezi(s-nr);
fout<<v[i]<<" "<<v[j]<<" "<<v[l]<<" "<<z.t1<<" "<<z.t2<<" "<<z.t3<<"\n";
return 0;
}
}
fout<<-1<<"\n";
}