Cod sursa(job #1649992)

Utilizator AronZekAron Jinga AronZek Data 11 martie 2016 16:05:25
Problema Semne Scor 55
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.06 kb
#include <fstream>
#include <stdlib.h>
#include <bitset>
#define Nmax 5002

using namespace std ;

ifstream in ("semne.in");
ofstream out("semne.out");


int N , v[Nmax] ;
char s[Nmax] ;
long long S, Now ;

void bkt(int poz){
        if( Now != S){
            int i  = poz ;
            while ( i > 0 ) {

                    s[i] = '-' ;
                    Now -= 2 *  v[i] ;

                    if ( Now >= S)
                        bkt( i - 1);

                        s[i] = '+' ;
                        Now += 2 * v[i] ;
                        i-- ;
            }
        }
        else{
            out << s + 1 ;
            exit(EXIT_SUCCESS);
        }
}

            int main (){


                    in >> N >> S ;
                        for( int  i = 1 ; i <= N ; ++i ){
                            in >> v[i] ;
                            s[i] = '+';
                            Now +=  v[i] ;
                        }

                    bkt( N );

                    End:
            return 0 ;
            }