Cod sursa(job #119283)
#include <fstream.h>
long n,a[100001];
long long S1;
long sir[100002],ok=0;
ofstream fout("semne.out");
void citire()
{
ifstream fin("semne.in");
fin>>n>>S1;
for (long i=0;i<n;i++)
fin>>a[i];
fin.close();
}
void back(long k)
{
if (k==n&& ok==0)
{
long long S=0;
for (long y=0;y<n;y++)
S+=a[y]*sir[y];
if (S==S1)
{
ok=1;
for (long i=0;i<n;i++)
if (sir[i]==1)
fout<<"+";
else
fout<<"-";
fout<<"\n";
fout.close();
}
return ;
}
sir[k]=1;
back(k+1);
sir[k]=-1;
back(k+1);
}
int main()
{
citire();
back(0);
return 0;
}