Cod sursa(job #2887768)

Utilizator DragosG12Ghinea Dragos DragosG12 Data 10 aprilie 2022 11:15:01
Problema Loto Scor 80
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 1.3 kb
#include<fstream>
#include<unordered_map>
using namespace std;

struct trio{
    long long a=0,b=0,c=0;
};

unordered_map<long long, trio> calcule;

#include<iostream>

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

    long long n,s;
    fin>>n>>s;
    long long numere[n];
    for(int i=0;i<n;i++)
        fin>>numere[i];

    long long a,b,c;

    for(int i=0;i<n;i++){
        a=numere[i];
        for(int j=i;j<n;j++){
            b=numere[j];
            for(int k=j;k<n;k++){
                c=numere[k];
                trio& t=calcule[a+b+c];
                t.a=a;
                t.b=b;
                t.c=c;
            }
        }
    }

    for(int i=0;i<n;i++){
        a=numere[i];
        for(int j=i;j<n;j++){
            b=numere[j];
            for(int k=j;k<n;k++){
                c=numere[k];
                auto it=calcule.find(s-a-b-c);
                if(it!=calcule.end() && it->second.a!=0){
                    fout<<a<<" "<<b<<" "<<c<<" "<<it->second.a<<" "<<it->second.b<<" "<<it->second.c;
                    fout.close();
                    fin.close();
                    return 0;
                }
            }
        }
    }

    fout<<-1;

    fout.close();
    fin.close();

    return 0;
}