Cod sursa(job #2300394)

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

using namespace std;

int n,S;
int a[105];

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

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;
    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};
            }

    for(auto i:M)
        if(M[S-i.first].viz && M[i.first].viz)
        {
            fprintf(fout, "%d %d %d ", M[i.first].x, M[i.first].y, M[i.first].z);
            fprintf(fout, "%d %d %d ", M[S-i.first].x, M[S-i.first].y, M[S-i.first].z);
            return 0;
        }

    fprintf(fout, "-1\n");

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