NIKOLAY_TETUS

27-1

Jun 21st, 2021
1,468
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. f = open("27-A.txt")
  2. #f = open("27-B.txt")
  3. dataAmount = int(f.readline())
  4.  
  5. totalSum = 0
  6. minDiff = 999999999
  7. difNow = 0
  8. minDifs = list()
  9.  
  10. for i in range(0, dataAmount):
  11.     buf = list(map(int, f.readline().split()))
  12.     buf.sort()
  13.     totalSum += buf[0] + buf[1]
  14.  
  15.     #Текущая разница в паре, если взять другое число вместо первого или второго
  16.     difNowFirst = buf[2] - buf[1]
  17.     difNowSecond = buf[1] - buf[0]
  18.    
  19.     if difNowFirst < minDiff and ((difNowFirst % 3 == 0 and difNowFirst % 17 != 0) or (difNowFirst % 3 != 0 and difNowFirst % 17 == 0)):
  20.         minDiff = difNowFirst
  21.         #minDifs.append(difNowFirst)
  22.  
  23.     if difNowSecond < minDiff and ((difNowSecond % 3 == 0 and difNowSecond % 17 != 0) or (difNowSecond % 3 != 0 and difNowSecond % 17 == 0)):
  24.         minDiff = difNowSecond
  25.         #minDifs.append(difNowSecond)
  26.  
  27.     if difNowFirst != 0:
  28.         minDifs.append(difNowFirst)
  29.        
  30.     if difNowSecond != 0:
  31.         minDifs.append(difNowSecond)
  32.  
  33.  
  34. minDifs.sort()
  35.  
  36. index = 0
  37.  
  38. while not (totalSum % 3 == 0 and totalSum % 17 != 0) or not (totalSum % 3 != 0 and totalSum % 17 == 0):
  39.     totalSum += minDifs[index]
  40.     index += 1
  41.  
  42. print(totalSum)
  43.  
  44.  
  45. #Как искать несколько минимальных сумм, если результат не подходит?
  46.  
RAW Paste Data