Cod sursa(job #2288768)

Utilizator sabinpocrisSabin P sabinpocris Data 23 noiembrie 2018 20:51:22
Problema Loto Scor 10
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.87 kb
#include <bits/stdc++.h>

using namespace std;


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

vector<int> givenNumbers;
bool itWorked = false;

void findSum(int sum, string past, int nr, int limit){
    if (sum > nr || limit < 0 || itWorked)
        return;
    
    if (sum == nr && limit == 0){
        out << past << "\n";
        itWorked = true;
        return;
    }

    for (int item : givenNumbers){
        int temp = sum + item;
        string str;
        
        if (past == ""){
            str = to_string(item);
        } else {
            str = past + " " + to_string(item);
        }

        findSum(temp, str, nr, limit - 1);
    }
}

int main(){
    int n, nr, sum;

    in >> n >> sum;
    while(n--){
        in >> nr;
        givenNumbers.push_back(nr);
    }

    findSum(0, "", sum, 6);

    if (!itWorked){
        out << "-1\n";
    }
    
    return 0;
}