Pagini recente » Cod sursa (job #1046003) | Cod sursa (job #2643453) | Cod sursa (job #2461254) | Cod sursa (job #2063888) | Cod sursa (job #2339281)
#include <bits/stdc++.h>
using namespace std;
ifstream fin("semne.in");
ofstream fout("semne.out");
bool ok;
long long 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;
}