Pagini recente » Cod sursa (job #816699) | Cod sursa (job #2387985) | Cod sursa (job #722245) | Cod sursa (job #1437938) | Cod sursa (job #1759)
Cod sursa(job #1759)
#include <stdio.h>
#include <stdlib.h>
#include <iostream.h>
long long S, sum;
int N;
int semn[50001];
long long A[50001];
int main()
{
FILE *fin = fopen("semne.in", "rt");
srand( (unsigned)time(0) );
fscanf(fin, "%d %lld", &N, &S);
for (int i = 1; i <= N; i++)
{
fscanf(fin, "%lld", &A[i]);
sum += A[i];
}
fclose(fin);
while (S != sum)
{
if (S < sum)
{
int v = (rand() % N) + 1;
while (semn[v] == 1)
{
v = (rand() % N) + 1;
}
semn[v] = 1;
sum -= A[v];
sum -= A[v];
}
if (S > sum)
{
int v = (rand() % N) + 1;
while (semn[v] == 0)
{
v = (rand() % N) + 1;
}
semn[v] = 0;
sum += A[v];
sum += A[v];
}
}
FILE *fout = fopen("semne.out", "wt");
for (int i = 1; i <= N; i++)
if (semn[i] == 0)
fprintf(fout, "+");
else fprintf(fout, "-");
fclose(fin);
return 0;
}