Pagini recente » Cod sursa (job #895765) | Cod sursa (job #2553448) | Cod sursa (job #2447032) | Cod sursa (job #485543) | Cod sursa (job #82393)
Cod sursa(job #82393)
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#define maxn 50000
#define fout out
FILE *in = fopen("semne.in","r"), *out = fopen("semne.out","w");
int a[maxn];
char semn[maxn];
int n;
long long s;
long long sol = 0;
void read()
{
fscanf(in, "%d %lld", &n, &s);
for ( int i = 0; i < n; ++i )
{
fscanf(in, "%d", &a[i]);
if ( sol < s )
{
sol += a[i];
semn[i] = 1;
}
else
{
sol -= a[i];
semn[i] = -1;
}
}
}
int main()
{
read();
srand((unsigned)time(0));
while ( sol != s )
{
int q = rand() % n;
if ( sol < s && semn[q] == -1 )
sol += 2 * a[q] * (semn[q] *= -1);
else if ( sol > s && semn[q] == 1 )
sol += 2 * a[q] * (semn[q] *= -1);
}
for ( int i = 0; i < n; ++i )
if ( semn[i] == 0 )
fprintf(fout, "-");
else
fprintf(fout, "+");
return 0;
}