Advertisement
coffeebeforecode

codechef16Feb

Feb 16th, 2022
812
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 1.21 KB | None | 0 0
  1. def f(x):
  2.     if (len(x) <= 1):
  3.         return 0
  4.     sum = 0
  5.     for i in range(0, len(x)-1):
  6.         sum += abs(x[i+1] - x[i])
  7.     return sum
  8.  
  9. for _ in range(int(input())):
  10.     n = int(input())
  11.     l = list(map(int, input().split()))
  12.  
  13.     b = max(l)
  14.     s = min(l)
  15.  
  16.     arr = list()
  17.     if l.index(b) == l.index(s):
  18.         # to do
  19.         print("case1")
  20.     elif l.index(b) < l.index(s):
  21.         arr.append(b)
  22.         arr.append(s)
  23.         min_ind = l.index(s)+1
  24.         while min_ind <= len(l)-1:
  25.             arr.append(max(l[min_ind:]))
  26.             min_ind = l.index(arr[-1])+1
  27.            
  28.             if min_ind > len(l)-1:
  29.                 break
  30.            
  31.             arr.append(min(l[min_ind:]))
  32.             min_ind = l.index(arr[-1])+1    
  33.     else:
  34.         arr.append(s)
  35.         arr.append(b)
  36.         min_ind = l.index(b)+1
  37.         while min_ind <= len(l)-1:
  38.             arr.append(min(l[min_ind:]))
  39.             min_ind = l.index(arr[-1])+1
  40.            
  41.             if min_ind > len(l)-1:
  42.                 break
  43.            
  44.             arr.append(max(l[min_ind:]))
  45.             min_ind = l.index(arr[-1])+1
  46.        
  47.     for e in arr:
  48.         l.remove(e)
  49.  
  50.     print(f(l) + f(arr))
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement