Cod sursa(job #130088)

Utilizator bogdanhm999Casu-Pop Bogdan bogdanhm999 Data 31 ianuarie 2008 11:03:37
Problema Loto Scor 5
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.97 kb
#include <stdio.h>
#include <stdlib.h>

long n,s,i,j,k,q,a[103],s3[1000003],ind[1000003],nr1[1000003],nr2[1000003],nr3[1000003];

int comp(const void *n1, const void *n2){
    return *(long*)n1-*(long*)n2;
}

int main(){
    freopen("loto.in","r",stdin);
    freopen("loto.out","w",stdout);
    
    scanf("%ld %ld",&n,&s);
    for (i=1;i<=n;i++)
        scanf("%ld",&a[i]);

    for (i=1;i<=n;i++)
        for (j=1;j<=n;j++)
            for (k=1;k<=n;k++)
                {q++;ind[q]=q;s3[q]=a[i]+a[j]+a[k];nr1[q]=i;nr2[q]=j;nr3[q]=k;}
    qsort(ind,q+1,sizeof(long),comp);
    j=q;
    for (i=1;i<=q;i++){
        while (s3[ind[i]]+s3[ind[j]]>s&&j>0)j--;
        if (!j>0)break;
        if (s3[ind[i]]+s3[ind[j]]==s){
           printf("%ld %ld %ld ",a[nr1[ind[i]]],a[nr2[ind[i]]],a[nr3[ind[i]]]);
           printf("%ld %ld %ld\n",a[nr1[ind[j]]],a[nr2[ind[j]]],a[nr3[ind[j]]]);
           return 0;
        }
    }
    printf("-1\n");
 
return 0;   
}