Cod sursa(job #1962012)

Utilizator VladTiberiuMihailescu Vlad Tiberiu VladTiberiu Data 11 aprilie 2017 15:15:24
Problema Semne Scor 60
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.71 kb
#include <bits/stdc++.h>

#define ll long long
using namespace std;
ifstream f("semne.in");
ofstream g("semne.out");

const ll NMax = 50003;

ll n,S,s;
ll a[NMax],v[NMax];

int main()
{
    f >> n >> S;
    for(ll i = 1; i <= n; ++i){
        f >> a[i];
        s += a[i];
        v[i] = 1;
    }
    srand(time(NULL));
    while(s != S){
        ll x = rand();ll y = rand();
        x = (x * y) % n + 1;
        if(v[x] == 1){
            v[x] = 0;
            s -= 2 * a[x];
        }else{
            v[x] = 1;
            s += 2 * a[x];
        }
    }
    for(ll i = 1; i <= n; ++i){
        if(v[i] == 1)
            g << '+';
        else
            g << '-';
    }
    return 0;
}