Pagini recente » Cod sursa (job #1892800) | Cod sursa (job #777230) | Cod sursa (job #1108754) | Cod sursa (job #928648) | Cod sursa (job #49874)
Cod sursa(job #49874)
#include <stdio.h>
#include <fstream>
using namespace std;
#define in "semne.in"
#define out "semne.out"
#define dim 50001
bool Semn[dim];
long long A[dim];
int S, stotal = 0;
int N;
int main()
{
freopen(in,"r",stdin);
freopen(out,"w",stdout);
scanf("%d", &N );
scanf("%lld", &S);
for ( int i = 1; i <= N; i++ )
{
scanf("%lld", &A[i]);
stotal += A[i];
}
if ( stotal == S )
{
for ( int i = 1; i <= N; i++ )
printf("+");
return 0;
}
if ( stotal == -S )
{
for ( int i = 1; i <= N; i++ )
printf("+");
return 0;
}
memset(Semn,0,sizeof(Semn) );
int gasit = 0;
while ( gasit == 0 )
{
stotal = 0;
for ( int i = 1; i <= N; i++ )
{
Semn[i] = rand()%2;
if ( Semn[i] == 1 ) stotal += A[i];
else stotal -= A[i];
}
if ( stotal == S ) gasit = 1;
}
for ( int i = 1; i <= N; i++ )
{
if ( Semn[i] == 1 ) printf("+");
else printf("-");
}
}