Cod sursa(job #3130058)

Utilizator infomatic2Liviu Firca infomatic2 Data 16 mai 2023 18:44:15
Problema Loto Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 1.01 kb
#include<fstream>
#include<unordered_map>
#include<array>
using namespace std;

ifstream cin("loto.in");
ofstream cout("loto.out");

int main(){
    unordered_map<int,array<int,3>> harta;
    int arr[400],n,s;
    cin>>n>>s;
    for(int i=0;i<n;i++){
        cin>>arr[i];
    }
    bool gen=false;
    for(int i=0;i<n;i++){
        for(int j=0;j<n;j++){
            for(int k=0;k<n;k++){
                
                harta[arr[i]+arr[j]+arr[k]]=array<int,3>{i,j,k};
            }
        }
    }
    for(int i=0;i<n;i++){
        for(int j=0;j<n;j++){
            for(int k=0;k<n;k++){
                
                if(harta.find(s-arr[i]-arr[j]-arr[k])!=harta.end()){
                    gen=true;
                    for(int value:harta[s-arr[i]-arr[j]-arr[k]]){
                        cout<<arr[value]<<' ';
                    }
                    cout<<arr[i]<<' '<<arr[j]<<' '<<arr[k];
                    goto done;
                }
            }
        }
    }
    done:
    if(not gen){
        cout<<-1;
    }
}