Pagini recente » Cod sursa (job #933798) | Cod sursa (job #1336653) | Cod sursa (job #974906) | Cod sursa (job #902738) | Cod sursa (job #1872283)
#include<fstream>
#define NMax 50005
using namespace std;
ifstream fin("semne.in");
ofstream fout("semne.out");
long long N,S,Sum;
int A[NMax];
char Semn[NMax],OK = 1;
void Read()
{
fin>>N>>S;
for(int i = 1 ; i <= N ; ++i)
{
fin>>A[i];
Semn[i] = '+';
Sum += A[i];
}
}
void Solve(int poz)
{
if(OK)
{
if(Sum != S)
{
int i = poz;
while(i <= N)
{
Semn[i] = '-';
Sum -= 2 * A[i];
if(Sum >= S) Solve(i+1);
Semn[i] = '+';
Sum += 2 * A[i];
i++;
}
}
else
{
fout<<Semn + 1;
OK = 0;
}
}
}
int main()
{
Read();
Solve(1);
fin.close();
fout.close();
return 0;
}