Cod sursa(job #965531)

Utilizator ericptsStavarache Petru Eric ericpts Data 24 iunie 2013 08:41:12
Problema Semne Scor 55
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.68 kb
#include <cstdio>
#include <cstdlib>
#include <ctime>

using namespace std;

const int MAX_N = 50000;

int v[MAX_N],n,P,S;
int semn[MAX_N];
char show[MAX_N];

int main()
{
    srand(time(0));

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

    scanf("%d%d",&n,&P);

    int i;

    for(i = 0 ; i < n ; ++ i){
        scanf("%d",v+i);
        semn[i] = 1;
        S += v[i];
    }

    while(S != P){
        i = rand() % n;
        semn[i] *= -1;
        S += 2*semn[i] * v[i];
    }
    for(i = 0 ; i < n ; ++ i)
        if(semn[i] == 1)
            show[i] = '+';
        else show[i] = '-';

    printf("%s\n",show);
}