main.py 1.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364
  1. file = open('input.txt','r')
  2. tmp = file.readlines()
  3. data = []
  4. for f in tmp:
  5. data.append(int(f.replace('\n','')))
  6. def validNumbers(num):
  7. num -= 1
  8. res = []
  9. rng = range(num - 26, num )
  10. for x in rng:
  11. for y in rng:
  12. if data[x] == data[y]:
  13. continue
  14. res.append(data[x]+data[y])
  15. return res
  16. def sumInRange(rng):
  17. sum = 0
  18. for i in rng:
  19. sum += data[i]
  20. return sum
  21. def findWeakness(rng):
  22. smal = 99999999999
  23. high = 0
  24. for i in rng:
  25. if data[i] < smal:
  26. smal = data[i]
  27. if data[i] > high:
  28. high = data[i]
  29. print(smal+high)
  30. for i in range(1,len(data)):
  31. end = i
  32. while end < len(data):
  33. rng = range(end - i,end)
  34. if sumInRange(rng) == 248131121:
  35. findWeakness(rng)
  36. end += 1
  37. exit()
  38. count = 0
  39. preamble = []
  40. for d in data:
  41. count += 1
  42. if count <= 25:
  43. continue
  44. val = validNumbers(count)
  45. if data[count - 1] not in val:
  46. print('count: '+str(count))
  47. print('preamble: ')
  48. for i in range(count - 27,count - 2):
  49. preamble.append(data[i])
  50. print(preamble)
  51. print('valid:')
  52. print(val)
  53. print('odd one is: '+str(data[count - 1]))
  54. exit()