Cod sursa(job #1071389)

Utilizator roxannemafteiuMafteiu-Scai Roxana roxannemafteiu Data 2 ianuarie 2014 22:30:47
Problema Loto Scor 10
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.74 kb
#include<stdio.h>
#include<algorithm>
FILE *in,*out;
using namespace std;
int Roxana, Teodora;
int Mafteiu[1000007], Scai[100];
int l,o,v,e,love;
int main()
{
    in=fopen("loto.in","rt");
    fscanf(in,"%d %d",&Roxana,&Teodora);
    for(l=1; l<=Roxana; l++)
        fscanf(in,"%d", &Scai[l]);
    fclose(in);
    sort(Scai+1, Scai+Roxana+1);
    for( l=1;l<=Roxana;++l)
        for( e=1;e<=Roxana;++e)
            for(v=1;v<=Roxana;++v)
                Mafteiu[++Mafteiu[0]]=Scai[l]+Scai[e]+Scai[v];
    o=Mafteiu[0];
    out=fopen("loto.out", "wt");
    for( love=1; love<=Mafteiu[0]; ++love)
    {
        while(Mafteiu[o]>Teodora-Mafteiu[love])
            --o;
        if(Mafteiu[o]==Teodora-Mafteiu[love] && o!=0 && Teodora-Mafteiu[love]!=0)
        {
            int ok=0;
            for(l=1; l<=Roxana && ok==0; ++l)
                for( e=1; e<=Roxana && ok==0; ++e)
                    for( v=1;v<=Roxana && ok==0; ++v)
                        if(Scai[l]+Scai[e]+Scai[v] == Mafteiu[love])
                        {
                            fprintf(out,"%d %d %d ",Scai[l],Scai[e],Scai[v]);
                            ok = 1;
                        }
            ok = 0;
            for(l=1; l<=Roxana && ok==0; ++l)
                for(e=1; e<=Roxana && ok==0; ++e)
                    for( v=1; v<=Roxana && ok==0; ++v)
                        if(Scai[l]+Scai[e]+Scai[v]==Teodora-Mafteiu[love])
                        {
                            fprintf(out,"%d %d %d",Scai[l],Scai[e],Scai[v]);
                            ok = 1;
                         }
            fclose(out);
            return 0;

        }
    }
    fprintf(out,"-1");
    fclose(out);
    return 0;
}
//Mafteiu-Scai Roxana :D