Решение - в прилагаемом файле.
(¬Y ∨ X) ∨ (Y ∧ Z) ∧ ¬X
Var a:array[1..100] of integer;
n:integer;
begin
read(n);
for I:1 to n do
begin
a[i]:=0;
end;
end.
Const
m=8;
n=6;
var
a:array[1..m,1..n] of integer;
st,t:string;
i,j,k,s:integer;
begin
Write('k='); Read(k);
Randomize;
Writeln('Исходная матрица A[',m,',',n,']');
st:='';
for i:=1 to m do begin
s:=0;
for j:=1 to n do begin
a[i,j]:=Random(15)-5; // [-5;9]
Write(a[i,j]:3);
s:=s+a[i,j]
end;
Writeln;
if s>k then begin
Str(i,t);
if st='' then st:=t
else st:=st+','+t
end
end;
if st<>'' then Writeln('Искомые строки: ',st)
end.
Пример
k=15
Исходная матрица A[8,6]
3 -5 6 8 0 2
1 1 5 2 0 1
0 -1 1 9 5 8
-1 -2 -3 3 -2 -2
8 7 5 6 5 3
8 -1 7 -3 7 3
3 -5 6 -1 0 4
7 1 9 1 4 6
Искомые строки: 3,5,6,8
C# 8.0
using System.Linq;
...
int Max = new int[]{a,b,c}.Max();