Pagini recente » Cod sursa (job #1605938) | Cod sursa (job #2674417) | Cod sursa (job #976467) | Cod sursa (job #2106614) | Cod sursa (job #1733772)
#include <fstream>
#include <math.h>
#include <algorithm>
using namespace std;
#define ll long long
#define llu long long unsigned
#define pb push_back
#define mp make_pair
string problemName = "semne";
string inFile = problemName+".in";
string outFile = problemName+".out";
ifstream fin(inFile.c_str());
ofstream fout(outFile.c_str());
const int N = 5e4;
int s,v[N+5],cur;
char sol[N+5];
bool solved;
void bkt(int poz){
if(solved == true){
return;
}
if(cur != s){
while(poz){
cur -= 2*v[poz];
sol[poz] = '-';
if(cur >= s){
bkt(poz-1);
}
sol[poz] = '+';
cur += 2*v[poz];
poz--;
}
}else{
fout<<sol+1;
solved = true;
}
}
int main(){
int n,i;
solved = false;
fin>>n>>s;
for(i = 1;i <= n;i++){
fin>>v[i];
cur += v[i];
sol[i] = '+';
}
bkt(n);
return 0;
}