Cod sursa(job #1361551)

Utilizator radu_uniculeu sunt radu radu_unicul Data 25 februarie 2015 22:08:38
Problema Loto Scor 70
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.88 kb
#include<stdio.h>
#include<algorithm>
using namespace std;
struct str
{
    long a,b,c,sum;
} m[1000001];
long x[101],s,i,j,a,b,c,k,n,dif;
int cmp(str a,str b)
{
    return a.sum<b.sum;
}
int main()
{
    freopen ("loto.in","rt",stdin);
    freopen ("loto.out","wt",stdout);

    scanf("%ld %ld",&n,&s);
    for (i=1; i<=n; i++)
        scanf("%ld",&x[i]);


    for (a=1; a<=n; a++)
        for (b=a; b<=n; b++)
            for (c=b; c<=n; c++)
                m[++k].sum=x[a]+x[b]+x[c],m[k].a=x[a],m[k].b=x[b],m[k].c=x[c];

    sort(m+1,m+k+1,cmp);

    i=1;
    j=k;
    while (i<=j)
    {
        dif=s-m[i].sum;
        while (m[j].sum>dif)
            j--;
        if (m[j].sum==dif && (i<=j))
        {
            printf("%ld %ld %ld %ld %ld %ld\n",m[i].a,m[i].b,m[i].c,m[j].a,m[j].b,m[j].c);
            return 0;
        }
        i++;
    }
}