Cod sursa(job #767695)

Utilizator SteveStefan Eniceicu Steve Data 14 iulie 2012 14:01:21
Problema Semne Scor 35
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.8 kb
#include <fstream>
#include <cstdlib>

using namespace std;

int N;
long long S;
int v[50005];
char sol[50005];

void Citire () {
    ifstream fin ("semne.in");
    fin >> N >> S;
    for (int i = 0; i < N; i++)
        fin >> v[i];
    fin.close ();
}

void Business () {
    int b;
    long long a;
    while (1)
    {
        a = 0;
        for (int i = 0; i < N; i++)
        {
            b = rand () & 1;
            b = (b ? 1 : -1);
            a += 1LL * b * v[i];
            sol[i] = b;
        }
        if (a == S) break;
    }
}

void Scriere () {
    ofstream fout ("semne.out");
    for (int i = 0; i < N; i++)
        fout << (sol[i] == 1 ? '+' : '-');
    fout.close ();
}

int main () {
    Citire ();
    Business ();
    Scriere ();
    return 0;
}