// PascalABC.NET 3.1, сборка 1204 от 24.03.2016
begin
// общая часть
var a:=ReadArrInteger('Массив:',ReadInteger('n='));
var b:=ReadInteger('b=');
// часть для задачи 1
var i:=a.IndexOf(b);
if i<0 then Writeln('Нет совпадений')<br> else WritelnFormat('1. A[{0}]={1}',i+1,a[i]);
// часть для задачи 2
Writeln('2. k=',a.Where(x->x=b).Count);
// часть для задачи 3
var s:=a.Select((x,i)->x=a[i+1:a.Length].Sum).ToArray;
var k:=s.IndexOf(True);
if k>=0 then WritelnFormat('3. A[{0}]={1}',k+1,a[k])
else Writeln('3. Не существует')
end.
Тестовое решение:
n= 10
Массив: -9 21 0 -9 21 6 -2 14 18 -15
b= -9
1. A[1]=-9
2. k=2
3. A[5]=21