Pagini recente » Cod sursa (job #1881817) | Cod sursa (job #1710625) | Cod sursa (job #490837) | Cod sursa (job #2861230) | Cod sursa (job #1732480)
#include <stdio.h>
#include <stdlib.h>
int cmpfunc (const void * c, const void * b)
{
return ( *(int*)c - *(int*)b );
}
int main()
{
FILE *pf,*pg;
pf=fopen("loto.in","r");
pg=fopen("loto.out","w");
int a[100000001];
int n,s,nr1,nr2;
fscanf(pf,"%d %d",&n,&s);
int v[n+1],i;
for (i=1; i<=n; i++)
fscanf(pf,"%d",&v[i]);
int j,k,p=0;
for (i=1; i<=n; i++)
for (j=1; j<=n; j++)
for (k=1; k<=n; k++)
a[++p]=v[i]+v[j]+v[k];
//quicksort(a,1,p);
qsort(a+1,p,sizeof(int),cmpfunc);
i=1;j=p;
while (i<=j)
{
if ((a[i]+a[j])==s)
{
nr1=a[i];
nr2=a[j];
//printf("%d %d",a[i],a[j]);
break;
}
else
{if (a[i]+a[j]<s)
i++;
else
j--;}
}
int ok=1;
for (i=1; i<=n; i++)
for (j=1; j<=n; j++)
for (k=1; k<=n; k++)
if (v[i]+v[j]+v[k]==nr1 && ok==1)
{
fprintf(pg,"%d %d %d",v[i],v[j],v[k]);
ok=0;
}
ok=1;
for (i=1; i<=n; i++)
for (j=1; j<=n; j++)
for (k=1; k<=n; k++)
if (v[i]+v[j]+v[k]==nr2 && ok==1)
{fprintf(pg," %d %d %d\n",v[i],v[j],v[k]);
ok=0;
}
if (ok==1) fprintf(pg,"-1");
return 0;
}