Cod sursa(job #82898)

Utilizator gabitzish1Gabriel Bitis gabitzish1 Data 9 septembrie 2007 14:58:26
Problema Semne Scor 85
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.65 kb
#include<stdio.h>
#include<math.h>
#include<iostream>
#include<stdlib.h>

long long s, v[50002], n, semn[50002], suma, suma2;

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

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

  long long i, x;

  for (i=1; i<=n; i++) scanf("%lld",&v[i]), semn[i]=1, suma+=v[i];


  while (suma!=s)
    {
      x=rand()%(n+1);
	if (!x) x=rand()%(n+1);
	if ((suma<s) && semn[x]==0) suma+=(v[x]<<1), semn[x]=1;
	else if (suma>s && semn[x]==1) suma-=(v[x]<<1), semn[x]=0;     
    }
  for (i=1; i<=n; i++)
    if (semn[i]==1) 
 	 printf("+");
    else printf("-");
    
  return 0;
}