Задание 27 #12

https://yandex.ru/tutor/subject/problem/?problem_id=T9304
Оптимальное решение 27 #12
n = int(input())
d = 4
nk = [0] * d
kr = [0] * d
k = 0
for i in range(1, n+1):
    x = int(input())
    if x % 3 == 0:
        if i >= (d+1):
            k += nk[i % d]
        kr[i % d] = kr[(i-1) % d] + 1
        nk[i % d] = nk[(i-1) % d]
    else:
        if i >= (d+1):
            k += kr[i % d]
        nk[i % d] = nk[(i-1) % d] + 1
        kr[i % d] = kr[(i-1) % d]
print(k)

Неоптимальное решение 27 #12
n = int(input())
a = []
d = 4
k = 0
for i in range(n):
    a.append(int(input()))
for i in range(n-d):
    for j in range(i+d, n):
        if (a[i] * a[j]) % 3 == 0 and (a[i]+a[j]) % 3 > 0:
            k += 1
print(k)

Добавить комментарий

Ваш адрес email не будет опубликован.