Pagini recente » Cod sursa (job #3037660) | Cod sursa (job #2842178) | Cod sursa (job #2047161) | Cod sursa (job #1769212) | Cod sursa (job #3222419)
#include <bits/stdc++.h>
#define int long long
const int NMAX = 5e4 + 5;
int n, S, sgn[NMAX], a[NMAX];
std :: mt19937 rng(1337);
std :: ifstream fin("semne.in");
std :: ofstream fout("semne.out");
signed main() {
fin >> n >> S;
int curr = 0;
for (int i = 1; i <= n; ++ i) {
fin >> a[i];
int t = rng() % 2;
if (t == 0) {
sgn[i] = +1;
curr += a[i];
}
else {
sgn[i] = -1;
curr -= a[i];
}
}
while (curr != S) {
if (curr < S) {
for (int i = 1; i <= n; ++ i) {
if (sgn[i] == -1) {
curr += 2 * a[i];
sgn[i] = +1;
break;
}
}
}
else {
for (int i = 1; i <= n; ++ i) {
if (sgn[i] == +1) {
curr -= 2 * a[i];
sgn[i] = -1;
break;
}
}
}
}
for (int i = 1; i <= n; ++ i) {
if (sgn[i] == +1) {
fout << "+";
}
else {
fout << "-";
}
}
return 0;
}