Cod sursa(job #287661)

Utilizator rupraRupra C rupra Data 25 martie 2009 00:39:52
Problema Semne Scor 65
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.66 kb
#include <algorithm>
#include <stdio.h>
#include <time.h>

#define MAX 50010

using namespace std;

int n, s, sumTot;
int vctNr[MAX];
char semn[MAX];

int main()
{
	srand(time(0));

	freopen("semne.in", "r", stdin);
	freopen("semne.out", "w", stdout);

	scanf("%d %d", &n, &s);

	for (int i = 1; i <= n; i++)
	{
		scanf("%d", &vctNr[i]);

		sumTot += vctNr[i];
		semn[i] = 1;
	}

	for (; sumTot != s; )
	{
		int loc = rand() % n + 1;
		semn[loc] ^= 1;
		sumTot += (semn[loc])? (2 * vctNr[loc]) : -( 2 * vctNr[loc]);
	}

	for (int i = 1; i <= n; i++)
		printf("%c", (semn[i])? '+' : '-');

	fclose(stdin);
	fclose(stdout);
	return 0;
}