Pagini recente » Cod sursa (job #1325924) | Cod sursa (job #281454) | Cod sursa (job #96030) | Cod sursa (job #386538) | Cod sursa (job #2800003)
#include <bits/stdc++.h>
using namespace std;
ifstream fin("semne.in");
ofstream fout("semne.out");
const int NMAX = 5e4;
long long h[NMAX + 5];
int main()
{
int n, k;
long long s = 0;
fin >> n >> k;
vector <int> a(n), b(0);
string res(n, '+');
iota(a.begin(), a.end(), 0);
random_shuffle(a.begin(), a.end());
for(int i = 0; i < n; i++)
fin >> h[i],
s += h[i];
while(s != k) {
if(s > k) {
swap(a[rand() % a.size()], a[a.size() - 1]);
s -= h[a.back()] * 2ll;
b.push_back(a.back());
a.pop_back();
} else {
swap(b[rand() % b.size()], b[b.size() - 1]);
s += h[b.back()] * 2ll;
a.push_back(b.back());
b.pop_back();
}
}
for(int x : b) res[x] = '-';
fout << res;
return 0;
}