Cod sursa(job #2023871)

Utilizator refugiatBoni Daniel Stefan refugiat Data 19 septembrie 2017 16:53:47
Problema Semne Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.79 kb
#include <iostream>
#include <fstream>
using namespace std;
ifstream si("semne.in");
ofstream so("semne.out");
char semn[50005];
int v[50005];
bool r=false;
long long s,sc;
void calc(int poz)
{
    if(s!=sc)
    {
        while(poz>0&&!r)
        {
            semn[poz]='-';
            sc-=v[poz]*2;
            if(sc>=s)
            {
                calc(poz-1);
            }
            if(!r)
            {
                semn[poz]='+';
                sc+=v[poz]*2;
                --poz;
            }
        }
    }
    else
        r=true;
}
int main()
{
    int n;
    si>>n>>s;
    for(int i=1;i<=n;++i)
    {
        si>>v[i];
        sc+=v[i];
        semn[i]='+';
    }
    calc(n);
    for(int i=1;i<=n;++i)
        so<<semn[i];
    return 0;
}