fork download
  1. import itertools
  2.  
  3. l = [int(i) for i in input().split()]
  4. p = itertools.permutations(l)
  5.  
  6. c, cs = 1, -1
  7. mm = -1
  8. for i in p:
  9. var, s = l[:], 0
  10. print(c, ':', i)
  11. c += 1
  12.  
  13. for j in i:
  14. print(' removing: ', j)
  15. pos = var.index(j)
  16. if pos == 0 or pos == len(var) - 1:
  17. if pos == 0 and len(var) != 1:
  18. s += var[pos] * var[pos + 1]
  19. var.remove(j)
  20. elif pos == 0 and len(var) == 1:
  21. s += var[pos]
  22. var.remove(j)
  23. if pos == len(var) - 1 and pos != 0:
  24. s += var[pos] * var[pos - 1]
  25. var.remove(j)
  26. else:
  27. mx = max(var[pos - 1], var[pos + 1])
  28. mn = min(var[pos - 1], var[pos + 1])
  29.  
  30. s += var[pos] * mx + mn
  31. var.remove(j)
  32.  
  33. if s > mm:
  34. mm = s
  35. cs = c - 1
  36. print(' modified list: ', var, '\n sum:', s)
  37.  
  38. print('MAX SUM was', mm, ' at', cs)
Success #stdin #stdout 0.02s 9576KB
stdin
4 5 2 3
stdout
1 : (4, 5, 2, 3)
	removing:  4
	modified list:  [5, 2, 3] 
	sum: 20
	removing:  5
	modified list:  [2, 3] 
	sum: 30
	removing:  2
	modified list:  [3] 
	sum: 36
	removing:  3
	modified list:  [] 
	sum: 39
2 : (4, 5, 3, 2)
	removing:  4
	modified list:  [5, 2, 3] 
	sum: 20
	removing:  5
	modified list:  [2, 3] 
	sum: 30
	removing:  3
	modified list:  [2] 
	sum: 36
	removing:  2
	modified list:  [] 
	sum: 38
3 : (4, 2, 5, 3)
	removing:  4
	modified list:  [5, 2, 3] 
	sum: 20
	removing:  2
	modified list:  [5, 3] 
	sum: 33
	removing:  5
	modified list:  [3] 
	sum: 48
	removing:  3
	modified list:  [] 
	sum: 51
4 : (4, 2, 3, 5)
	removing:  4
	modified list:  [5, 2, 3] 
	sum: 20
	removing:  2
	modified list:  [5, 3] 
	sum: 33
	removing:  3
	modified list:  [5] 
	sum: 48
	removing:  5
	modified list:  [] 
	sum: 53
5 : (4, 3, 5, 2)
	removing:  4
	modified list:  [5, 2, 3] 
	sum: 20
	removing:  3
	modified list:  [5, 2] 
	sum: 26
	removing:  5
	modified list:  [2] 
	sum: 36
	removing:  2
	modified list:  [] 
	sum: 38
6 : (4, 3, 2, 5)
	removing:  4
	modified list:  [5, 2, 3] 
	sum: 20
	removing:  3
	modified list:  [5, 2] 
	sum: 26
	removing:  2
	modified list:  [5] 
	sum: 36
	removing:  5
	modified list:  [] 
	sum: 41
7 : (5, 4, 2, 3)
	removing:  5
	modified list:  [4, 2, 3] 
	sum: 22
	removing:  4
	modified list:  [2, 3] 
	sum: 30
	removing:  2
	modified list:  [3] 
	sum: 36
	removing:  3
	modified list:  [] 
	sum: 39
8 : (5, 4, 3, 2)
	removing:  5
	modified list:  [4, 2, 3] 
	sum: 22
	removing:  4
	modified list:  [2, 3] 
	sum: 30
	removing:  3
	modified list:  [2] 
	sum: 36
	removing:  2
	modified list:  [] 
	sum: 38
9 : (5, 2, 4, 3)
	removing:  5
	modified list:  [4, 2, 3] 
	sum: 22
	removing:  2
	modified list:  [4, 3] 
	sum: 33
	removing:  4
	modified list:  [3] 
	sum: 45
	removing:  3
	modified list:  [] 
	sum: 48
10 : (5, 2, 3, 4)
	removing:  5
	modified list:  [4, 2, 3] 
	sum: 22
	removing:  2
	modified list:  [4, 3] 
	sum: 33
	removing:  3
	modified list:  [4] 
	sum: 45
	removing:  4
	modified list:  [] 
	sum: 49
11 : (5, 3, 4, 2)
	removing:  5
	modified list:  [4, 2, 3] 
	sum: 22
	removing:  3
	modified list:  [4, 2] 
	sum: 28
	removing:  4
	modified list:  [2] 
	sum: 36
	removing:  2
	modified list:  [] 
	sum: 38
12 : (5, 3, 2, 4)
	removing:  5
	modified list:  [4, 2, 3] 
	sum: 22
	removing:  3
	modified list:  [4, 2] 
	sum: 28
	removing:  2
	modified list:  [4] 
	sum: 36
	removing:  4
	modified list:  [] 
	sum: 40
13 : (2, 4, 5, 3)
	removing:  2
	modified list:  [4, 5, 3] 
	sum: 13
	removing:  4
	modified list:  [5, 3] 
	sum: 33
	removing:  5
	modified list:  [3] 
	sum: 48
	removing:  3
	modified list:  [] 
	sum: 51
14 : (2, 4, 3, 5)
	removing:  2
	modified list:  [4, 5, 3] 
	sum: 13
	removing:  4
	modified list:  [5, 3] 
	sum: 33
	removing:  3
	modified list:  [5] 
	sum: 48
	removing:  5
	modified list:  [] 
	sum: 53
15 : (2, 5, 4, 3)
	removing:  2
	modified list:  [4, 5, 3] 
	sum: 13
	removing:  5
	modified list:  [4, 3] 
	sum: 36
	removing:  4
	modified list:  [3] 
	sum: 48
	removing:  3
	modified list:  [] 
	sum: 51
16 : (2, 5, 3, 4)
	removing:  2
	modified list:  [4, 5, 3] 
	sum: 13
	removing:  5
	modified list:  [4, 3] 
	sum: 36
	removing:  3
	modified list:  [4] 
	sum: 48
	removing:  4
	modified list:  [] 
	sum: 52
17 : (2, 3, 4, 5)
	removing:  2
	modified list:  [4, 5, 3] 
	sum: 13
	removing:  3
	modified list:  [4, 5] 
	sum: 28
	removing:  4
	modified list:  [5] 
	sum: 48
	removing:  5
	modified list:  [] 
	sum: 53
18 : (2, 3, 5, 4)
	removing:  2
	modified list:  [4, 5, 3] 
	sum: 13
	removing:  3
	modified list:  [4, 5] 
	sum: 28
	removing:  5
	modified list:  [4] 
	sum: 48
	removing:  4
	modified list:  [] 
	sum: 52
19 : (3, 4, 5, 2)
	removing:  3
	modified list:  [4, 5, 2] 
	sum: 6
	removing:  4
	modified list:  [5, 2] 
	sum: 26
	removing:  5
	modified list:  [2] 
	sum: 36
	removing:  2
	modified list:  [] 
	sum: 38
20 : (3, 4, 2, 5)
	removing:  3
	modified list:  [4, 5, 2] 
	sum: 6
	removing:  4
	modified list:  [5, 2] 
	sum: 26
	removing:  2
	modified list:  [5] 
	sum: 36
	removing:  5
	modified list:  [] 
	sum: 41
21 : (3, 5, 4, 2)
	removing:  3
	modified list:  [4, 5, 2] 
	sum: 6
	removing:  5
	modified list:  [4, 2] 
	sum: 28
	removing:  4
	modified list:  [2] 
	sum: 36
	removing:  2
	modified list:  [] 
	sum: 38
22 : (3, 5, 2, 4)
	removing:  3
	modified list:  [4, 5, 2] 
	sum: 6
	removing:  5
	modified list:  [4, 2] 
	sum: 28
	removing:  2
	modified list:  [4] 
	sum: 36
	removing:  4
	modified list:  [] 
	sum: 40
23 : (3, 2, 4, 5)
	removing:  3
	modified list:  [4, 5, 2] 
	sum: 6
	removing:  2
	modified list:  [4, 5] 
	sum: 16
	removing:  4
	modified list:  [5] 
	sum: 36
	removing:  5
	modified list:  [] 
	sum: 41
24 : (3, 2, 5, 4)
	removing:  3
	modified list:  [4, 5, 2] 
	sum: 6
	removing:  2
	modified list:  [4, 5] 
	sum: 16
	removing:  5
	modified list:  [4] 
	sum: 36
	removing:  4
	modified list:  [] 
	sum: 40
MAX SUM was 53  at 4