Cod sursa(job #2339279)

Utilizator PetyAlexandru Peticaru Pety Data 8 februarie 2019 17:17:03
Problema Semne Scor 65
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.66 kb
#include <bits/stdc++.h>

using namespace std;

ifstream fin("semne.in");
ofstream fout("semne.out");

bool ok;
int n, sum, nr, v[50002];
char semn[50002];

void calc(int poz) {

  if(sum != nr) {
    while(poz > 0 && !ok) {
      semn[poz] = '-';
      nr -= v[poz] * 2;
      if(nr >= sum)
        calc(poz - 1);
      if(!ok) {
        semn[poz] = '+';
        nr += v[poz]*2;
        poz--;
      }
    }
  }
  else
    ok = 1;
}
int main()
{
  fin >> n >> sum;
  for(int i = 1; i <= n; i++) {
    fin >> v[i];
    nr += v[i];
    semn[i] = '+';
  }
  calc(n);
  for(int i = 1; i <= n; i++)
    fout << (char)semn[i];
  return 0;
}