Cod sursa(job #180813)

Utilizator firewizardLucian Dobre firewizard Data 17 aprilie 2008 16:08:05
Problema Semne Scor 65
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.66 kb
#include <stdio.h>
#include <cstdlib>
#include <ctime>
#include <bitset>

using namespace std;

long n,i,a[50005];
long long S,sum;
bitset <50005>v;

int main(){
    freopen("semne.in","r",stdin);
    freopen("semne.out","w",stdout);
    
    srand(time(0));
    
    scanf("%ld %lld",&n,&S);
    for (i=1;i<=n;i++){
        scanf("%ld",&a[i]);
        sum+=a[i];
        v[i]=1;
    }
    while (sum!=S){
          i=rand()%(n+1);
          v[i]=1-v[i];
          if (v[i])sum+=a[i]+a[i];
          else sum-=a[i]+a[i];
    }
    for (i=1;i<=n;i++)
        if (v[i])printf("+");
        else printf("-");
    printf("\n");
return 0;
}