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