Cod sursa(job #340975)

Utilizator PavelRazvanPavel Razvan PavelRazvan Data 17 august 2009 10:53:06
Problema Semne Scor 20
Compilator cpp Status done
Runda Summer Camp #5 Marime 0.79 kb
#include<stdio.h>
#include<stdlib.h>
#define DIM 50005
int n,s,a[DIM];
int read ()
{
    int i,s2=0;
    scanf("%d%d",&n,&s);
    for(i=1;i<=n;++i)
    {
        scanf("%d",&a[i]);
        s2+=a[i];
    }
    return s2;
}
void show ()
{
    int i;
    for(i=1;i<=n;++i)
        if(a[i]>=0)
            printf("+");
        else
            printf("-");
}
void back (int k,int s2)
{
    if(k==n+1)
    {
        if(s2==s)
        {
            show ();
            exit (0);
        }
    }
    else
    {
        back (k+1,s2);
        a[k]=-a[k];
        back(k+1,s2+2*a[k]);
        a[k]=-a[k];
        back(k+1,s2-2*a[k]);
    }
}
int main ()
{
    freopen("semne.in","r",stdin);
    freopen("semne.out","w",stdout);
    back (1,read ());
    return 0;
}