Pagini recente » Cod sursa (job #1184114) | Cod sursa (job #2024909) | Cod sursa (job #1999334) | Cod sursa (job #1463438) | Cod sursa (job #129420)
Cod sursa(job #129420)
#include <stdio.h>
#include <stdlib.h>
int n,t,a[110],b[1001000],nr;
int cmp(const void *a, const void *b)
{
return ( *(int*)a - *(int*)b );
}
void write(int x)
{
int i,j,k;
for (i=1; i<=n; ++i)
{
for (j=1; j<=n; ++j)
{
for (k=1; k<=n; ++k)
{
if (a[i]+a[j]+a[k]==b[x])
{
printf("%d %d %d",a[i],a[j],a[k]);
return;
}
}
}
}
}
int main()
{
freopen("loto.in","r",stdin);
freopen("loto.out","w",stdout);
scanf("%d%d",&n,&t);
int i,j,k;
for (i=1; i<=n; ++i) scanf("%d",&a[i]);
nr=0;
for (i=1; i<=n; ++i)
{
for (j=1; j<=n; ++j)
{
for (k=1; k<=n; ++k)
{
++nr;
b[nr]=a[i]+a[j]+a[k];
}
}
}
qsort(b+1,nr, sizeof(int),cmp);
k=nr;
for (i=1; i<=nr && i<=k; ++i)
{
while(b[i]+b[t]>t && k>=i)
{
k--;
}
if (k<i) break;
if (b[i]+b[t]==t) {
write(i);
printf(" ");
write(t);
printf("\n");
return 0;
}
}
printf("-1\n");
return 0;
}