// PascalABC.NET 3.2, сборка 1353 от 27.11.2016
// Внимание! Если программа не работает, обновите версию!
begin
var k:=ReadInteger('k=');
var a:=ReadArrInteger('>',k);
var sp:=a.Where(x->x>0).Sum;
var po:=a.Where(x->x<0).Aggregate(BigInteger(1),(p,q)->p*q);
var b:=a.Select(x->x>0?po:(x<0?sp:0)).ToArray;<br> b.Println
end.
Пример
k= 10
> 9 20 -11 5 0 16 8 11 2 -17
187 187 71 187 0 187 187 187 187 71