Advertisement
Guest User

Untitled

a guest
Oct 14th, 2019
72
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.06 KB | None | 0 0
  1. N = int(input())
  2. result = list(map(int, input().split()))
  3. K = int(input())
  4. dict_result = {}
  5. cabel = []
  6. summ = 0
  7. for i in range(1,N+1):
  8. dict_result.update({i:set()})
  9.  
  10. for i in range(K):
  11. number = list(map(int, input().split()))
  12. cabel.append(number)
  13. dict_result[number[0]].add(number[1])
  14. dict_result[number[0]].add(number[0])
  15. dict_result[number[1]].add(number[0])
  16. dict_result[number[1]].add(number[1])
  17.  
  18. set_cabel = set()
  19. for i in dict_result.values():
  20. if i != set():
  21. i = frozenset(i)
  22. set_cabel.add(i)
  23.  
  24. for i in set_cabel:
  25.  
  26. minimum = 1000000
  27. for j in i:
  28. if result[j-1] < minimum:
  29. minimum = result[j-1]
  30. poz = j-1
  31. summ += result[poz]
  32. result[poz] = 0
  33. for j in cabel:
  34. if j[0] in i:
  35. if result[j[0]-1] >= result[j[1]-1]:
  36. if result[j[0]-1] > j[2]:
  37. result[j[0] - 1] = j[2]
  38. else:
  39. if result[j[1]-1] > j[2]:
  40. result[j[1] - 1] = j[2]
  41. print(sum(result)+summ)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement