Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #Медленный способ
- file = open('8A.txt')
- A = list(map(int, file.readlines()))
- n = A[0]
- A = A[1:]
- count = 0
- for i in range(n):
- for j in range(i + 1, n):
- if (A[i] + A[j]) % 80 == 0 and (A[i] > 50000 or A[j] > 50000):
- count += 1
- print(count)
- #Статический способ
- file = open('8B.txt')
- A = list(map(int, file.readlines()))
- n = A[0]
- A = A[1:]
- kb = [0] * 80
- k = [0] * 80
- for i in range(n):
- ost = A[i] % 80
- if A[i] > 50000:
- kb[ost] += 1
- else:
- k[ost] += 1
- count = (k[0] * kb[0]) + (kb[0] * (kb[0] - 1) // 2) + (k[40] * kb[40]) + (kb[40] * (kb[40] - 1) // 2)
- for i in range(1, 40):
- count += (kb[i] * kb[80 - i]) + (k[i] * kb[80 - i]) + (kb[i] * k[80 - i])
- print(count)
- #Динамичсекий способ
- file = open('8B.txt')
- A = list(map(int, file.readlines()))
- n = A[0]
- A = A[1:]
- kb = [0] * 80
- k = [0] * 80
- count = 0
- for i in range(n):
- ost = A[i] % 80
- if A[i] > 50000:
- count += kb[(80 - ost % 80) % 80] + k[(80 - ost % 80) % 80]
- kb[ost] += 1
- else:
- count += kb[(80 - ost % 80) % 80]
- k[ost] += 1
- print(count)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement