Is there any way to multiply certain terms within a vector with a constant? e.g. assume that I start with a vector

{f[4] - g[-1] , h[2] , 2 \* g[2] + h[-1]}

where f[ i ], g[ i ], h[ i ] are functions that I'd like to keep in their general form. I would like to multiply every function that is evaluated at a negative number with a constant c. The above example would then look like

{f[4] - c \* g[-1] , h[2] , 2 \* g[2] + c \* h[-1]}