Cod sursa(job #448881)

Utilizator wamfeverDobos Ionut wamfever Data 4 mai 2010 22:04:30
Problema Semne Scor 10
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.73 kb
#include<fstream>
using namespace std;
ifstream fin("semne.in");
ofstream fout("semne.out");
int s[50001], v[50001], n;
long long S;
char p[50001];
void suma()
{
     long long aux=0;
     for(int i=1; i<=n; i++)
	 {
             if(!s[i]) aux -= v[i];
		     else aux += v[i];
     }
     if(aux == S)
     for(int i=1; i<=n; i++) 
             {
                     if(s[i]) p[i] = '+';
		             else p[i] = '-';
             }
}

void back(int k)
{
     int i;
	 for(i=0; i<=1; i++)
	 {
		      s[k]=i;
		      if(k==n) suma();
		      else back(k+1);
     }
}

int main()
{
    fin >> n >> S;
	for(int i=1; i<=n; i++) fin >> v[i];
	back(1);
	for(int i=1; i<=n; i++) fout << p[i];
	return 0;
}