Cod sursa(job #1434575)

Utilizator IoanZioan zahiu IoanZ Data 10 mai 2015 20:15:21
Problema Loto Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.01 kb
#include <cstdio>
#include <algorithm>

using namespace std;

struct l
{
    int a,b,c,suma;
};
l x[400000];

int ok(l x,l y)
{
    return x.suma<y.suma;
}

int v[101];

int main()
{
    int m,n,i,j,k,nr,fir,las;
    freopen("loto.in","r",stdin);
    freopen("loto.out","w",stdout);
    scanf("%d%d",&n,&m);
    for(i=1;i<=n;i++)
        scanf("%d",&v[i]);
    nr=0;
    for(i=1;i<=n;i++)
        for(j=i;j<=n;j++)
            for(k=j;k<=n;k++)
            {
                x[++nr].suma=v[i]+v[j]+v[k];
                x[nr].a=v[i];
                x[nr].b=v[j];
                x[nr].c=v[k];
            }
    sort(x+1,x+nr+1,ok);
    fir=1;
    las=nr;
    while(fir<=las)
    {
        if(x[fir].suma+x[las].suma>m)
            las--;
        else if(x[fir].suma+x[las].suma<m)
            fir++;
        else
            break;
    }
    if(fir>las)
        printf("-1");
    else
        printf("%d %d %d %d %d %d",x[fir].a,x[fir].b,x[fir].c,x[las].a,x[las].b,x[las].c);
}