Pagini recente » Cod sursa (job #1359668) | Cod sursa (job #2321313) | Cod sursa (job #1409794) | Cod sursa (job #863933) | Cod sursa (job #2387293)
#include <iostream>
#include<cstdio>
using namespace std;
const int N=50005;
int v[N];
int n;
long long sumc=0,s;
char sem[N];
void bkt(int p){
if(sumc==s){
return;
}
for(int i=p;i>=1;i--){
if(sumc>s){
sem[i]='-';
sumc-=2LL*v[i];
bkt(i-1);
}
if(sumc==s)
return;
if(sem[i]=='-'){
sem[i]='+';
sumc+=2LL*v[i];
}
}
}
int main()
{
FILE*fin,*fout;
fin=fopen("semne.in","r");
fout=fopen("semne.out","w");
fscanf(fin,"%d%lld",&n,&s);
for(int i=1;i<=n;i++){
sem[i]='+';
fscanf(fin,"%d",&v[i]);
sumc+=v[i];
}
bkt(n);
fputs(sem+1,fout);
return 0;
}