Cod sursa(job #3129815)

Utilizator CiprianHutanuHutanu Ciprian CiprianHutanu Data 15 mai 2023 21:40:13
Problema Loto Scor 5
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 1.2 kb
#include <fstream>
#include <iostream>
#include <vector>
#include <map>

std::ifstream in;
std::ofstream out;


int main() {
    std::map<int, int*> mp;
    int n, S, i, j, k, l, v[105];
    bool f = false;
    std::vector<int>rez;

    in.open("loto.in");

    in>>n>>S;
    for(i = 0; i < n; i++)
        in>>v[i];
    in.close();

    for(i = 0; i < n; i++)
        for(j = 0; j < n; j++)
            for(k = 0; k < n; k++)
            {
                int aux[3] = {v[i],v[j],v[k]};
                mp[v[i]+v[j]+v[k]] = aux;
            }

    for(i = 0; i < n and !f; i++)
        for(j = 0; j < n and !f; j++)
            for(k = 0; k < n and !f; k++)
            {
                int sum = S-(v[i]+v[j]+v[k]);
                if(mp.find(sum) != mp.end()){
                    rez.push_back(v[i]);
                    rez.push_back(v[j]);
                    rez.push_back(v[k]);
                    for(l = 0; l < 3; l++)
                        rez.push_back(mp.find(sum)->second[l]);
                    f = true;
                }
            }

    out.open("loto.out");

    if(f){
        for(auto el:rez){
            out<<el<<' ';
        }
    }
    else{
        out<<-1;
    }
    out.close();

    return 0;
}