Pagini recente » Cod sursa (job #2037037) | Cod sursa (job #490602) | Cod sursa (job #1538265) | Cod sursa (job #3214026) | Cod sursa (job #1733774)
#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 v[N+5];
ll s,cur;
char sol[N+5];
bool solved;
void bkt(int poz){
if(solved == true){
return;
}
if(cur != s){
while(poz && solved == false){
cur -= 1LL*2*v[poz];
sol[poz] = '-';
if(cur >= s){
bkt(poz-1);
}
if(solved == false){
sol[poz] = '+';
cur += 1LL*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;
}