Pagini recente » Cod sursa (job #136283) | Cod sursa (job #2130067) | Cod sursa (job #635436) | Cod sursa (job #18651) | Cod sursa (job #1558609)
#include <cstdio>
using namespace std;
#define Nmax 50002
FILE *f = fopen ( "semne.in", "r" );
FILE *g = fopen ( "semne.out", "w" );
int N, v[Nmax];
char sgn[Nmax];
long long S, Now;
bool STOP = 0;
void bkt ( int poz ){
if ( STOP || Now == S )
return;
for ( int i = poz; i >= 1 && !STOP; --i ){
sgn[i] = '-';
Now -= 2 * v[i];
if ( Now == S ){
STOP = 1;
break;
}
if ( Now > S )
bkt ( poz - 1 );
if ( !STOP ){
sgn[i] = '+';
Now += 2 * v[i];
}
}
}
int main(){
fscanf ( f, "%d%lld", &N, &S );
for ( int i = 1; i <= N; ++i ){
fscanf ( f, "%d", &v[i] );
sgn[i] = '+';
Now += v[i];
}
bkt ( N );
fprintf( g, "%s", sgn+1 );
return 0;
}