Cod sursa(job #609238)

Utilizator mihaipopa12Popa Mihai mihaipopa12 Data 20 august 2011 13:05:14
Problema Semne Scor 65
Compilator cpp Status done
Runda Lista lui wefgef Marime 0.71 kb
#include<stdio.h>
#include<cstdlib>
#include<ctime>

#define maxN 50005

FILE*f=fopen("semne.in","r");
FILE*g=fopen("semne.out","w");

int n,S,s1,s2,V[maxN],X[maxN],x,i;

int main () {
	
	fscanf(f,"%d %d",&n,&S);
	
	for ( i = 0 ; i < n ; ++i ){
		fscanf(f,"%d",&V[i]);
		X[i] = 1; s1 += V[i];
	}
	
	srand(time(0));
	
	while ( 1 ){
		x = rand() % n;
		if ( X[x] && s1 > S + s2 ){
			X[x] = 0; s1 -= V[x]; s2 += V[x];
		}
		else{
			if ( !X[x] && s1 < S + s2 ){
				X[x] = 1; s1 += V[x]; s2 -= V[x];
			}
		}
		if ( s1 == S + s2 ){
			break ;
		}
	}
	
	for ( i = 0 ; i < n ; ++i ){
		if ( X[i] )
			fprintf(g,"+");
		else
			fprintf(g,"-");
	}
	
	fclose(f);
	fclose(g);
	
	return 0;
}