Cod sursa(job #1469289)

Utilizator dnprxDan Pracsiu dnprx Data 7 august 2015 22:24:37
Problema Semne Scor 85
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.9 kb
#include <bits/stdc++.h>

using namespace std;

int t[50003], a[50003], n;

int main()
{
    int i, p;
    long long S, suma;
    ifstream fin("semne.in");
    ofstream fout("semne.out");
    fin >> n >> S;
    for (i = 0; i < n; i++)
        fin >> a[i];
    fin.close();
    suma = 0;
    srand(time(0));
    for (i = 0; i < n; i++)
    {
        t[i] = rand() % 2;
        if (t[i] == 0) suma += a[i];
        else suma -= a[i];
    }

    while (suma != S)
    {
        p = rand() % n;
        if (suma > S && t[p] == 0)
        {
            suma = suma - 2 * a[p];
            t[p] = 1;
        }
        else if (suma < S && t[p] == 1)
        {
            suma = suma + 2 * a[p];
            t[p] = 0;
        }
    }

    for (i = 0; i < n; i++)
        if (t[i] == 0) fout << "+";
        else fout << "-";
    fout << "\n";
    fout.close();

    return 0;
}