Cod sursa(job #166550)

Utilizator pandaemonAndrei Popescu pandaemon Data 28 martie 2008 03:14:13
Problema Semne Scor 90
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.71 kb
#include<stdio.h>
#include<stdlib.h>
#include<time.h>
#define NMAX 50003

long long n,S,i,suma;

long long a[NMAX]; int s[NMAX];

				// A - MULTIMEA +
			       //  B - MULTIMEA -

long long mutare(int sign)
{
  while(s[i=rand()%n+1]!=sign);

  s[i]*=-1;

  return a[i];  }


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

  scanf("%lld %lld",&n,&S);   srand( time(NULL) );

  for(i=1;i<=n;i++)
  {scanf("%lld",&a[i]); suma+=a[i]; s[i]=1;}

  while(suma!=S)
  {

    if(suma<S) suma+=(mutare(-1)<<1);
    if(suma>S) suma-=(mutare(1)<<1);

  }

  for(i=1;i<=n;i++)
  if(s[i]==1) printf("+");
  else printf("-");

  printf("\n"); return 0; }