Pagini recente » Cod sursa (job #1266058) | Cod sursa (job #929818) | Cod sursa (job #685133) | Cod sursa (job #1038691) | Cod sursa (job #2554924)
#include<fstream>
#include<vector>
using namespace std;
ifstream fin("loto.in");
ofstream fout("loto.out");
const int K=666013;
int n,i,s,x,rest,v[101],j,k;
bool found;
struct loto
{
int suma,i1,i2,i3;
};
vector<loto>r[K+1];
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(k=1;k<=n;k++)
{
loto sum;
sum.suma=v[i]+v[j]+v[k];
sum.i1=i;
sum.i2=j;
sum.i3=k;
r[sum.suma%K].push_back(sum);
}
for(i=1;i<=n;i++)
for(j=1;j<=n;j++)
for(k=1;k<=n;k++)
{
int sum2=s-v[i]-v[j]-v[k];
if(sum2<0)
continue;
int r2=sum2%K;
int dim=r[r2].size()-1;
for(int l=0;l<=dim;l++)
{
if(r[r2][l].suma==sum2)
if(!found)
{
found=true;
fout<<v[i]<<" "<<v[j]<<" "<<v[k]<<" "<<v[r[r2][l].i1]<<" "<<v[r[r2][l].i2]<<" "<<v[r[r2][l].i3];
return 0;
}
}
}
if(!found)
fout<<-1;
return 0;
}