Pagini recente » Cod sursa (job #423948) | Cod sursa (job #1981372) | Cod sursa (job #118734) | Istoria paginii runda/rf_2/clasament | Cod sursa (job #2320546)
#include <bits/stdc++.h>
using namespace std;
#define ll long long
const int MAXN = 5e4;
int a[MAXN + 1], sign[MAXN + 1];
int main() {
int n, i;
ll s, k;
freopen ("semne.in", "r", stdin);
freopen ("semne.out", "w", stdout);
scanf ("%d%lld", &n, &k);
s = 0;
for (i = 1; i <= n; i++) {
scanf ("%d", &a[i]);
sign[i] = 1;
s = s + a[i];
}
srand (NULL);
while (k != s) {
if (s < k) {
do {
i = 1 + rand () % n;
} while (sign[i] == 1);
s = s + 2 * a[i];
sign[i] = 1;
}
else {
do {
i = 1 + rand () % n;
} while (sign[i] == -1);
s = s - 2 * a[i];
sign[i] = -1;
}
}
for (i = 1; i <= n; i++)
printf ("%c", (sign[i] == 1) ? '+' : '-');
return 0;
}