Pagini recente » Cod sursa (job #2059897) | Cod sursa (job #322040) | Cod sursa (job #1330383) | Cod sursa (job #276040) | Cod sursa (job #385619)
Cod sursa(job #385619)
#include <fstream>
#include <cstdlib>
#include <ctime>
#define NMAX 50010
using namespace std;
ifstream fin("semne.in");
ofstream fout("semne.out");
int main()
{
long long suma = 0, sumaAux, sum;
int A[NMAX], N, i, x;
char s[NMAX];
srand(time(0));
fin >>N >>sum;
for (i = 1; i<= N; i++)
fin >>A[i], suma += A[i], s[i] = '+';
sumaAux = suma;
while (sumaAux != sum)
{
sumaAux = suma;
for (i = 1; i <= N; i++)
{
x = rand()%2;
if (x && sumaAux - 2*A[i] >= sum)
sumaAux -= 2*A[i], s[i] = '-';
else
s[i] = '+';
}
}
for (i = 1; i <= N; i++)
fout <<s[i];
fout.close();
return 0;
}