Pagini recente » Cod sursa (job #190712) | Cod sursa (job #2890885) | Cod sursa (job #3237133) | Cod sursa (job #1057399) | Cod sursa (job #1281779)
#include <fstream>
#include <cstdlib>
#include <ctime>
using namespace std;
const int MAX_N = 50002;
int N, S;
int v[MAX_N], m[MAX_N];
int main() {
srand(time(NULL));
ifstream f("semne.in");
ofstream g("semne.out");
f >> N >> S;
long long A = 0, B = 0;
for(int i = 1; i <= N; ++i) {
f >> v[i];
A += v[i];
}
while(A - B != S) {
if(A - B > S) {
int p = 1 + rand() % N;
while(m[p] == 1)
p = 1 + rand() % N;
A -= v[p];
B += v[p];
m[p] = 1;
}
else {
int p = 1 + rand() % N;
while(m[p] == 0)
p = 1 + rand() % N;
A += v[p];
B -= v[p];
m[p] = 0;
}
}
for(int i = 1; i <= N; ++i)
if(m[i])
g << "-";
else g << "+";
g << "\n";
f.close();
g.close();
return 0;
}