Cod sursa(job #802014)

Utilizator Marius96Marius Gavrilescu Marius96 Data 25 octombrie 2012 17:38:12
Problema Semne Scor 75
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.63 kb
#include<cstdio>
#include<cstdlib>
#include<ctime>
#include<cstring>
long long v[50005];
char p[50005];
char str[400000];
int n;

int main()
{
	srand (time (NULL));
	freopen ("semne.in","r",stdin);
	freopen ("semne.out","w",stdout);

	long long s,c=0;
	scanf ("%d%lld\n",&n,&s);
	gets (str);

	char *ss=strtok (str," ");
	for(int i=0;i<n;i++){
		v[i]=atoi (ss);
		ss=strtok (NULL," ");
		if(c<s)
			c+=v[i],p[i]='+';
		else
			c-=v[i],p[i]='-';
	}

	int r=0;
	while(s!=c){
		r=(r+rand())%n;
		if(c<s){
			if(p[r]=='-')
				c+=v[r]*2,p[r]='+';
		} else if(p[r]=='+')
			c-=v[r]*2,p[r]='-';
	}

//	for(int i=0;i<n;i++)
	puts (p);

	return 0;
}