Pagini recente » Monitorul de evaluare | Cod sursa (job #1710814) | Cod sursa (job #2029014) | Cod sursa (job #1072785) | Cod sursa (job #2320543)
#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, k, i;
ll s;
freopen ("semne.in", "r", stdin);
freopen ("semne.out", "w", stdout);
scanf ("%d%d", &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;
}