Cod sursa(job #2727760)

Utilizator MateiAruxandeiMateiStefan MateiAruxandei Data 22 martie 2021 14:29:00
Problema Semne Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.68 kb
#include <bits/stdc++.h>

using namespace std;

ifstream fin("semne.in");
ofstream fout("semne.out");

typedef long long ll;
ll n, v[50005], s;
char rez[50005];

bool solve(ll sum, int n){
    if(sum < s)
        return false;
    if(sum == s)
        return true;
    for(int i = n; i >= 1; --i){
        rez[i] = '-';
        if(solve(sum - 2 * v[i], i - 1))
            return true;
        rez[i] = '+';
    }
    return false;
}

int main()
{
    fin >> n >> s;

    ll sum = 0;
    for(int i = 1; i <= n; ++i){
        fin >> v[i];

        sum += v[i];
        rez[i] = '+';
    }

    solve(sum, n);

    fout << (rez + 1) << '\n';
    return 0;
}