Cod sursa(job #148290)

Utilizator c_sebiSebastian Crisan c_sebi Data 4 martie 2008 08:19:52
Problema Semne Scor 40
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.6 kb
#include <stdio.h>
#include <stdlib.h>
#include <time.h>

int s[50000], n;
long long S, sum;

int main(){
	int x, i;
	srand(time(0));
	FILE *f=fopen("semne.in", "r"), *g=fopen("semne.out", "w");
	fscanf(f, "%d %lld", &n, &S);
	for(i=0; i<n; i++){
		fscanf(f, "%d", &s[i]);
		x=rand()%2;
		if(x) s[i]=-s[i];
		sum += s[i];
	}

	while(sum!=S){
		x = rand()%n;
		if( sum + (-1)*s[x] - S <= 5000 && sum + (-1)*s[x] - S >= -5000){
		sum -= s[x];
		s[x]=-s[x];
		sum += s[x];}
	}
	for(i=0; i<n; i++)
		if(s[i]>0) fprintf(g, "+");
		else fprintf(g, "-");
	fclose(f);
	fclose(g);
	return 0;
}