Cod sursa(job #2703168)

Utilizator xXoctavianXxStanescu Matei Octavian xXoctavianXx Data 7 februarie 2021 15:09:12
Problema Loto Scor 20
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 1.2 kb
#include <bits/stdc++.h>

using namespace std;

ifstream fin("loto.in");
ofstream fout("loto.out");

struct trei_numere
{
    int a;
    int b;
    int c;
};

int n,s;
bool posibil[300000002];
//map<int,bool> posibil;
map<int,trei_numere> three;
int v[102];

int main()
{
    fin>>n>>s;
    for(int i=0; i<n; i++)
    {
        fin>>v[i];
    }
    for(int i=0; i<n; i++)
    {
        for(int j=0; j<n; j++)
        {
            for(int k=0; k<n; k++)
            {
                int sum = v[i]+v[j]+v[k];
                posibil[sum]=true;
                three[v[i]+v[j]+v[k]].a=v[i];
                three[v[i]+v[j]+v[k]].b=v[j];
                three[v[i]+v[j]+v[k]].c=v[k];
            }
        }
    }
    for(int i=0; i<n; i++)
    {
        for(int j=0; j<n; j++)
        {
            for(int k=0; k<n; k++)
            {
                if(posibil[s-v[i]-v[j]-v[k]]==true)
                {
                    fout<<three[s-v[i]-v[j]-v[k]].a<<" "<<three[s-v[i]-v[j]-v[k]].b<<" "<<three[s-v[i]-v[j]-v[k]].c<<" "<<v[i]<<" "<<v[j]<<" "<<v[k];
                    return 0;
                }
            }
        }
    }
    fout<<"-1";
    return 0;
}