Вам даны четыре массива A, B, C, D размером N каждый.
Найдите максимальное значение (M) приведенного ниже выражения
M = max(|A[i] - A[j]| + |B[i] - B[j]| + |C[i] - C[j]| + |D[i] - D[j]| + |i -j|)
Where 1 <= i < j <= N <br />
а здесь |x| относится к абсолютному значению x.
Ограничения
2 <= N <= 10^5
1 <= Ai,Bi,Ci,Di <= 10^9
- Ввод: Н,А,Б,С,Г
- Выход: М
Ex.-
Input-
5
5,7,6,3,9
7,9,2,7,5
1,9,9,3,3
8,4,1,10,5
Выход-
24
я пробовал так
def max_value(arr1,arr2,arr3,arr4, n):
res = 0;
# Iterating two for loop,
# one for i and another for j.
for i in range(n):
for j in range(n):
temp= abs(arr1[i] - arr1[j]) + abs(arr2[i] - arr2[j]) + abs(arr3[i] - arr3[j]) + abs(arr4[i] - arr4[j]) + abs(i - j)
if res>temp:
res = res
else:
res = temp
return res;
Это О(n^2). Но я хочу лучшее решение временной сложности. Это не будет работать для более высоких значений N.