Pagini recente » Cod sursa (job #3269652) | Cod sursa (job #1831373) | Cod sursa (job #1189661) | Cod sursa (job #1457130) | Cod sursa (job #501295)
Cod sursa(job #501295)
#include<cstdlib>
#include<ctime>
#include<cstdio>
#include<iostream>
using namespace std;
const int NMAX = 50005;
int N, S;
int A[NMAX];
int sum = 0;
void citire()
{
cin >> N >> S;
for(int i = 1 ; i <= N ; i++)
{
cin >> A[i];
sum += A[i];
}
}
void obtine()
{
srand(time(0));
while(sum != S)
{
int x = rand() % N + 1;
if(abs(sum - 2 * A[x] - S) < abs(sum - S))
{
sum -= 2* A[x];
A[x] *= -1;
}
}
}
void scrie()
{
for(int i = 1 ; i <= N ; i++)
if(A[i] > 0)
printf("+");
else
printf("-");
}
int main()
{
freopen("semne.in", "r", stdin);
freopen("semne.out", "w", stdout);
citire();
obtine();
scrie();
return 0;
}