Pagini recente » Cod sursa (job #1916235) | Cod sursa (job #3189059) | Cod sursa (job #2944239) | Cod sursa (job #791370) | Cod sursa (job #1080705)
#include <cstdio>
struct pereche {
int no1;
int no2;
int no3;
int suma;
}v[1000000];
int n,s,vec[100],contor,my_hash[300],sc;
FILE *f,*g;
int main()
{
f=fopen("loto.in","r");
g=fopen("loto.out","w");
fscanf(f,"%d%d",&n,&s);
for (int i=0; i<n; i++)
fscanf(f,"%d",&vec[i]);
contor=-1;
//for (int i=1; i<=n; i++)
// printf("%d ",vec[i]);
for (int i=0; i<n; i++)
for (int j=0; j<n; j++)
for (int k=0; k<n; k++)
{
v[++contor].no1=vec[i];
v[contor].no2=vec[j];
v[contor].no3=vec[k];
v[contor].suma=vec[i]+vec[j]+vec[k];
//printf("%d %d %d %d %d\n",contor,v[contor].suma,v[contor].no1,v[contor].no2,v[contor].no3);
}
for (int i=0; i<300; i++)
my_hash[i]=-1;
for (int i=0; i<n*n*n; i++)
{
my_hash[v[i].suma]=i;
//printf("%d %d\n",my_hash[v[i].suma],v[i].suma);
}
//for (int i=0; i<300; i++)
//printf("%d ",my_hash[i]);
for (int i=0; i<n*n*n; i++)
if ((s-v[i].suma)>=0)
{
sc=s-v[i].suma;
if (my_hash[sc]>-1)
{
fprintf(g,"%d %d %d %d %d %d",v[i].no1,v[i].no2,v[i].no3,v[my_hash[sc]].no1,v[my_hash[sc]].no2,v[my_hash[sc]].no3);
break;
}
}
fclose(f);
fclose(g);
return 0;
}