Cod sursa(job #2745760)

Utilizator bogdan2405Strat Bogdan-Valentin bogdan2405 Data 26 aprilie 2021 23:23:21
Problema Loto Scor 95
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 1.42 kb
#include <iostream>
#include <fstream>
#include <vector>
#include <unordered_map>

using namespace std;
ifstream f("loto.in");
ofstream g("loto.out");
int main(){
    int n,sum,i,j,k,val,s,ok=0;
    vector<int> nr;
    unordered_map<int,vector<int> > umap;
    f>>n>>sum;
    for(i=0;i<n;++i){
        f>>val;
        nr.push_back(val);
    }
    s=0;
    for(i=0;i<nr.size();++i){
        for(j=i;j<nr.size();++j){
            for(k=j;k<nr.size();++k){
                //s=nr[i]+nr[j]+nr[k];
            
                //if(umap.find(nr[i]+nr[j]+nr[k])==umap.end()){
                    umap[nr[i]+nr[j]+nr[k]]={nr[i],nr[j],nr[k]};
                //}
                if(umap.find(sum-nr[i]-nr[j]-nr[k])!=umap.end()){
                    g<<nr[i]<<" "<<nr[j]<<" "<<nr[k]<<" "<<umap[sum-nr[i]-nr[j]-nr[k]][0]<<" "<<umap[sum-nr[i]-nr[j]-nr[k]][1]<<" "<<umap[sum-nr[i]-nr[j]-nr[k]][2];
                    ok=1;
                    break;
                }
            }
            if(ok==1)
                break;
        }
        if(ok==1)
            break;
    }
        
            
    /*for(auto x:umap){
        if(umap.find(sum-x.first)!=umap.end()){
                g<<x.second[0]<<" "<<x.second[1]<<" "<<x.second[2]<<" ";
        
            g<<umap[sum-x.first][0]<<" "<<umap[sum-x.first][1]<<" "<<umap[sum-x.first][2];
            ok=1;
            break;
        }
    }*/
    if(ok==0)
        g<<-1;
                       
    return 0;
}