// PascalABC.NET 3.1, сборка 1218 от 12.04.2016
begin
var a:=ArrRandom(ReadInteger('n='),-50,50);
a.Println;
Writeln('s=',a.Select((x,i)->Rec(x,i+1)).Where(x->x.Item1>0)
.Select(x->x.Item2).Sum)
end.
Тестовое решение:
n= 15
-27 45 -9 38 -30 -22 -36 18 -40 5 -47 5 33 -21 -44
s=49