Cod sursa(job #2300399)

Utilizator 12222Fendt 1000 Vario 12222 Data 11 decembrie 2018 11:37:52
Problema Loto Scor 80
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 1.08 kb
#include <bits/stdc++.h>

using namespace std;

int n,S;
int a[105];

struct El
{
    int x,y,z;
    bool viz;

}sol[1000005];

unordered_map<int,El>M;

int main()
{
    FILE *fin,*fout;
    fin=fopen("loto.in", "r");
    fout=fopen("loto.out", "w");

    fscanf(fin ,"%d%d" ,&n ,&S);

    for(int i=1;i<=n;i++)
        fscanf(fin ,"%d" ,&a[i]);

    int v,lg;
    lg=0;
    for(int i=1;i<=n;i++)
        for(int j=1;j<=n;j++)
            for(int k=1;k<=n;k++)
            {
                v=a[i]+a[j]+a[k];

                if(!M[v].viz)
                {
                    M[v]={a[i],a[j],a[k],1};
                    sol[++lg]={a[i],a[j],a[k],1};
                }
            }

    for(int i=1;i<=lg;i++)
    {
        v=sol[i].x+sol[i].y+sol[i].z;
        if(M[S-v].viz)
        {
            fprintf(fout, "%d %d %d ", sol[i].x, sol[i].y, sol[i].z);
            fprintf(fout, "%d %d %d ", M[S-v].x, M[S-v].y, M[S-v].z);
            return 0;
        }
    }
    fprintf(fout, "-1\n");

    fclose(fin);
    fclose(fout);
    return 0;
}