В задании исходный код программы введен немного неправильно, поэтому я решил его загуглить и нашел во с идентичными кодом без ответа. Код, вроде, рабочий, но я его серьезно не тестировал.
N = 1E5
a, p, s = [], [], []
def main():
n = k = i = j = 0
(n, k) = (int(input()), int(input()))
p = [0] * n
s = [0] * n
for i in range(0, n):
a.append(int(input()))
if a[i] > a[j]:
p[i] = i
j = i
else:
p[i] = p[j]
j = n - 1
for i in range(n - 1, -1, -1):
if (a[i] >= a[j]):
s[i] = i
j = i
else:
s[i] = s[j]
m, l, r = 0, 0, k + 1
i = l
for j in range(r, n):
t = a[p[i]] + a[s[j]]
if t > m:
l = p[i]
r = s[j]
m = t
i += 1;
print(str(l + 1) + " " + str(r + 1))
if __name__ == "__main__":
main()
Поделитесь своими знаниями, ответьте на вопрос:
Дана целочисленная матрица а размером м х n, где м и n – заданные натуральные числа. найти произведение элементов матрицы расположенных в столбцах содержащих наибольший и наименьший элементы данной матрицы.в basic!
DIM m AS INTEGER, n AS INTEGER
CLS
INPUT "M,N = ", m, n
REDIM a(1 TO m, 1 TO n) AS INTEGER
RANDOMIZE TIMER
FOR i = 1 TO m
FOR j = 1 TO n
a(i, j) = 100 * RND - 50
PRINT USING ""; a(i, j);
NEXT j
PRINT
NEXT i
min = 1000: max = -1000
FOR i = 1 TO m
FOR j = 1 TO n
IF a(i, j) > max THEN
max = a(i, j)
jmax = j
END IF
IF a(i, j) < min THEN
min = a(i, j)
jmin = j
END IF
NEXT j
NEXT i
DIM p AS DOUBLE
p = 1
FOR i = 1 TO m
p = p * a(i, jmax) * a(i, jmin)
NEXT i
PRINT "P="; p
Пример
M,N = 4,7
11 42 -35 -8 -11 -40 -23
-16 -45 -41 13 0 -41 22
32 48 29 -10 15 -38 22
27 -22 -23 -9 7 2 30
P= 3983377305600