Pagini recente » Cod sursa (job #611318) | Cod sursa (job #474876) | Cod sursa (job #1557754) | Cod sursa (job #33735) | Cod sursa (job #1628192)
#include <fstream>
#include <stdlib.h>
#include <bitset>
using namespace std;
#define Nmax 50002
ifstream in("semne.in");
ofstream out("semne.out");
int N, v[Nmax];
char s[Nmax];
long long S, Now;
void bkt ( int poz ){
if ( Now != S ){
int i = poz;
while ( i > 0 ){
s[i] = '-';
Now -= 2 * v[i];
if ( Now >= S )
bkt ( i - 1 );
s[i] = '+';
Now += 2 * v[i];
i--;
}
}
else {
out << s+1;
exit(EXIT_SUCCESS);
}
}
int main(){
in >> N >> S;
for ( int i = 1; i <= N; ++i ){
in >> v[i];
s[i] = '+';
Now += v[i];
}
bkt ( N );
End:
return 0;
}