Cod sursa(job #122676)

Utilizator tamasgyGyorfi Tamas tamasgy Data 13 ianuarie 2008 13:48:39
Problema Loto Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.1 kb
#include <stdio.h>
#include <algorithm>
using namespace std;

int main()
{
    long int n,s,a[101],b[7],i,j,t,k[7],e;
    FILE *r;
    r=fopen("loto.in","r");
    fscanf(r,"%ld %ld",&n,&s);
    for (i=1;i<=n;i++)
        fscanf(r,"%ld",&a[i]);
    sort(a+1,a+n+1);
    fclose(r);
    r=fopen("loto.out","w");
    j=n;
    if (s<a[1])
    {
        fprintf(r,"-1");
        t=1;
    }
    for (i=1;i<=6;i++)
    {

        s=s-a[j];

        if ((s>0)||((s==0)&&(i==6)))
        {
            b[i]=a[j];
            k[i]=j;
        }

        if ((s<0)||((s==0)&&(i!=6)))
        {
            s=s+a[j];
            j--;
            i--;
        }

        if (j==0)
        {
            do
            {
            e=0;
            s=s+b[i];
            j=k[i]-1;
            i--;
            if (j!=0) e=1;
            }
            while (e!=1);
        }

    }
    if (s>0)
        {
            fprintf(r,"-1");
            t=1;
        }
    if (t==0)
    {
        for (i=1;i<=6;i++)
            fprintf(r,"%ld ",b[i]);
    }
    fclose(r);
return 0;
}