Cod sursa(job #2745659)

Utilizator SebicaPGLSebastian Ionel SebicaPGL Data 26 aprilie 2021 21:12:25
Problema Loto Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 1.49 kb
#include <iostream>
#include <unordered_map>
#include <vector>
#include <fstream>
using namespace std;

int main()
{
    ifstream f("loto.in");
    ofstream o("loto.out");

    int n, s, x, sum;
    unordered_map<int, vector<int> > mep;
    vector<int> v;

    f >> n >> s;
    for(int i = 1; i <= n; i++){
        f >> x;
        v.push_back(x);
    }
     for(int i = 0; i < v.size(); i++){
            for(int j = i; j < v.size(); j++){
                for(int k = j; k < v.size(); k++){
                    sum = v[i] + v[j] + v[k];
                    mep[sum] ={v[i], v[j], v[k]};
                    if(mep.find(s - sum) != mep.end()){
                        o << v[i] << " " << v[j] << " " << v[k] << " ";
                        vector<int> x = mep[s - sum];
                        o << x[0] << " " << x[1] << " " << x[2] << " ";

                        return 0;
                    }
                }
            }
        }

/*
    for(int i = 0; i < v.size(); i++){
        for(int j = 0; j < v.size(); j++){
            for(int k = 0; k < v.size(); k++){
                sum = v[i] + v[j] + v[k];
                if(mep.find(s - sum) != mep.end()){
                    o << v[i] << " " << v[j] << " " << v[k] << " ";
                    vector<int> x = mep[s - sum];
                    o << x[0] << " " << x[1] << " " << x[2] << " ";

                    return 0;
                }
            }
        }
    }
*/
    o << -1;
    return 0;

}