Pagini recente » Cod sursa (job #1463325) | Cod sursa (job #462972) | Cod sursa (job #2157569) | Cod sursa (job #1112232) | Cod sursa (job #1281784)
#include <fstream>
#include <cstdlib>
#include <ctime>
using namespace std;
const int MAX_N = 50002;
int N;
int v[MAX_N], m[MAX_N];
long long S;
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;
if(m[p] == 0) {
A -= v[p];
B += v[p];
m[p] = 1;
}
}
else {
int p = 1 + rand() % N;
if(m[p] == 1) {
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;
}