Pagini recente » Cod sursa (job #2672919) | Cod sursa (job #424682) | Cod sursa (job #626725) | Cod sursa (job #3190025) | Cod sursa (job #2798367)
#include <bits/stdc++.h>
#include <ext/pb_ds/assoc_container.hpp>
#include <ext/pb_ds/tree_policy.hpp>
#define debug(x) cerr << #x << " " << x << "\n"
#define debugs(x) cerr << #x << " " << x << " "
using namespace std;
using namespace __gnu_pbds;
typedef long long ll;
typedef pair <ll, ll> pii;
typedef pair <long double, pii> muchie;
const ll NMAX = 5005;
const ll VMAX = 21;
const ll INF = (1LL << 55);
const ll MOD = 998244353;
const ll BLOCK = 318;
const ll base = 31;
const ll nr_of_bits = 30;
ll semn[NMAX], n;
ll S;
ll v[NMAX];
void bkt(ll k, ll s){
if(s == S){
for(ll i = 1; i <= n; i++){
if(!semn[i]){
cout << "-";
}else{
cout << "+";
}
}
exit(0);
}
if(s < S)
return;
if(k == n + 1)
return;
semn[k] = 0;
bkt(k + 1, s - 2 * v[k]);
semn[k] = 1;
bkt(k + 1, s);
}
int main() {
ios_base::sync_with_stdio(false);
cin.tie(0);
cout.tie(0);
ifstream cin("semne.in");
ofstream cout("semne.out");
ll sum = 0;
cin >> n >> S;
for(ll i = 1; i <= n; i++){
cin >> v[i];
sum += v[i];
semn[i] = 1;
}
bkt(1, sum);
return 0;
}