Cod sursa(job #2895250)

Utilizator biancar28Radulescu Alexia-Bianca biancar28 Data 28 aprilie 2022 20:43:13
Problema Loto Scor 40
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 1.29 kb
#include <iostream>
#include <unordered_map>
#include <tuple>
#include <fstream>
#include <vector>
#include <iterator>

using namespace std;
ifstream f("loto.in");
ofstream g("loto.out");

int main() {

    int n,s,i,suma,j,z,ok=0,aux;
    f>>n>>s;
    unordered_map<int, tuple<int,int,int>>M;
    vector<int>v;

    for(i=0;i<n;i++)
    {
        f>>aux;
        v.push_back(aux);
    }
    for(i=0;i<n;i++){
        for(j=0;j<n;j++){
            for(z=0;z<n;z++)
            {
                suma = v[i]+v[j]+v[z];
                if(suma<=s)
                {
                    M[suma]=make_tuple(v[i],v[j],v[z]);
                }
            }
        }
    }
    unordered_map<int, tuple<int,int,int>>::iterator it;
    unordered_map<int, tuple<int,int,int>>::iterator jt;
    for(it = M.begin(); it != M.end(); ++it){
        for(jt = M.begin(); jt != M.end(); ++jt){
            if(it->first + jt->first == s){
                g<<get<0>(it->second)<<" "<<get<1>(it->second)<<" "<<get<2>(it->second)<<" ";
                g<<get<0>(jt->second)<<" "<<get<1>(jt->second)<<" "<<get<2>(jt->second)<<" ";
                ok = 1;
                break;
            }
        }
        if(ok==1){
            break;
        }
    }
    if(ok==0){
        g<<-1;
    }

    g.close();
    f.close();

    return 0;
}