Pagini recente » Cod sursa (job #2441324) | Cod sursa (job #2385703) | Cod sursa (job #619389) | Cod sursa (job #2918224) | Cod sursa (job #1026776)
#include <iostream>
#include <fstream>
using namespace std;
int st[1000000],a[100000],n,s,ok=0;
void citire()
{
ifstream f("semne.in");
f>>n>>s;
for(int i=1;i<=n;i++)
f>>a[i];
}
void afis()
{ofstream g("semne.out");
for(int i=1;i<=n;i++)
if(st[i]==1)
g<<"+";
else
g<<"-";
ok=1;
}
int solutie()
{int d=0;
for(int i=1;i<=n;i++)
if(st[i]==1)
d+=a[i];
else
d=d-a[i];
if(d==s)
return 1;
return 0;
}
void backt(int k)
{
for(int i=1;i<=2;i++)
{
if(ok==1)
break;
st[k]=i;
if(k==n)
{if(solutie())
afis();}
else
backt(k+1);
}
}
int main()
{citire();
backt(1);
return 0;
}