Pagini recente » Cod sursa (job #2636145) | Cod sursa (job #2304325) | Cod sursa (job #1424848) | Cod sursa (job #1074450) | Cod sursa (job #53553)
Cod sursa(job #53553)
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
FILE *in = fopen("semne.in","r"), *out = fopen("semne.out","w");
int a[50000];
int n;
long long s = 0;
int b[50001];
void read()
{
fscanf(in, "%d %lld", &n, &s);
for ( int i = 0; i < n; ++i )
fscanf(in, "%d", &a[i]);
}
int main()
{
read();
srand((unsigned)time(0));
long long sol = 0;
while ( sol != s )
{
sol = 0;
for ( int i = 1; i <= n; ++i )
{
b[i] = rand() % 2;
if ( b[i] == 0 )
sol -= a[i-1];
else
sol += a[i-1];
}
if ( sol != s )
{
long long dif = sol - s;
for ( int i = 1; i <= n; ++i )
if ( dif < 0 )
{
if ( sol + a[i-1] == s )
{
sol += a[i-1];
break;
}
}
else
{
if ( sol - a[i-1] == s )
{
sol -= a[i-1];
break;
}
}
}
}
for ( int i = 1; i <= n; ++i )
if ( b[i] == 0 )
fprintf(out, "-");
else
fprintf(out, "+");
fprintf(out, "\n");
return 0;
}