Cod sursa(job #2108011)

Utilizator andreicoman299Coman Andrei andreicoman299 Data 17 ianuarie 2018 20:44:50
Problema Semne Scor 60
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.69 kb
#include <bits/stdc++.h>
#define MAXN 50000

int v[1 + MAXN], f[1 + MAXN];
int main(){
    FILE*fi,*fo;
    fi = fopen("semne.in","r");
    fo = fopen("semne.out","w");

    int n;
    long long s;
    fscanf(fi,"%d%lld", &n, &s);
    for(int i = 1; i <= n; i++)
        fscanf(fi,"%d", &v[i]);
    long long sum = 0;
    for(int i = 1; i <= n; i++){
        f[i] = 1;
        sum += v[i];
    }

    srand(time(NULL));
    while(sum != s){
        int i = 1 + rand() % n;
        sum -= f[i] * v[i];
        f[i] = -f[i];
        sum += f[i] * v[i];
    }
    for(int i = 1; i <= n; i++)
        if(f[i] == 1) fprintf(fo,"+");
        else fprintf(fo,"-");

    return 0;
}