Подготовка к школе
1 класс
2 класс
3 класс
4 класс
5 класс
6 класс
7 класс
8 класс
9 класс
10 класс
11 класс
ОГЭ
ЕГЭ
Для всех
Назад

17. Числовые последовательности: все задания

Сообщить о проблеме
1. Задание #296949
Задание было решено верно
Задание было решено неверно

В файле содержится последовательность целых чисел. Её элементы могут принимать целые значения от $–100\ 000$ до $100\ 000$ включительно. Определите количество троек последовательности, в которых все числа одного знака, при этом произведение минимального и максимального элементов тройки больше квадрата минимального элемента последовательности, который оканчивается на $15$ и является трёхзначным числом.

В ответе запишите количество найденных троек чисел, затем минимальное из произведений максимального и минимального элементов таких троек. В данной задаче под тройкой подразумевается три идущих подряд элемента последовательности.

Сначала необходимо найти минимальный элемент всей последовательности, который одновременно удовлетворяет двум условиям: он является трёхзначным числом, то есть его модуль находится в пределах от $100$ до $999$; он оканчивается на $15$.

Так как в последовательности могут встречаться отрицательные числа, последние две цифры удобно проверять по модулю числа.

Минимальный подходящий элемент последовательности равен $m=-915$. Тогда квадрат этого элемента: $m^2=(-915)^2=837225$.

Теперь будем рассматривать все тройки подряд идущих элементов последовательности.

Для каждой тройки нужно проверить два условия.

  • Во-первых, все три числа должны быть одного знака: либо все положительные, либо все отрицательные.
  • Во-вторых, найдём в тройке минимальный и максимальный элементы и вычислим их произведение. Оно должно быть больше $837225$.

Если оба условия выполняются, увеличиваем счётчик подходящих троек и запоминаем полученное произведение.

После проверки всей последовательности получаем: количество подходящих троек — $3507$; минимальное произведение максимального и минимального элементов среди них — $863808$.

Например, такое минимальное произведение получается для тройки $-192$, $-296$, $-4499$:

$\min=-4499$,
$\max=-192$,
$(-4499)\cdot(-192)=863808$.

При этом $863808>837225$, поэтому тройка подходит.

Код на Python

a = [int(x) for x in open('17-01.txt')]

m = min(x for x in a
        if 100 <= abs(x) <= 999
        and abs(x) % 100 == 15)

count = 0
min_product = 10**20

for i in range(len(a) - 2):
    x, y, z = a[i], a[i + 1], a[i + 2]

    if (x > 0 and y > 0 and z > 0) or \
       (x < 0 and y < 0 and z < 0):

        product = min(x, y, z) * max(x, y, z)

        if product > m ** 2:
            count += 1
            min_product = min(min_product, product)

print(count, min_product)

Программа выводит:

3507 863808
Показать
Очки опыта 20
Спросить Зави
Сообщить о проблеме
2. Задание #296950
Задание было решено верно
Задание было решено неверно

В файле содержится последовательность натуральных чисел. Её элементы могут принимать целые значения от $1$ до $100\ 000$ включительно. Определите количество пар последовательности, в которых сумма остатков от деления обоих элементов на $15$ равна минимальному элементу последовательности.

В ответе запишите количество найденных пар, затем минимальную из сумм элементов таких пар. В данной задаче под парой подразумевается два идущих подряд элемента последовательности.

Сначала найдём минимальный элемент всей последовательности. В данном файле он равен $8$. Теперь будем рассматривать все пары соседних элементов последовательности.

Для каждой пары найдём остатки от деления обоих чисел на $15$ и сложим их. Пара подходит, если $a_i\bmod15+a_{i+1}\bmod15=8$.

Для каждой подходящей пары увеличиваем счётчик и запоминаем сумму её элементов.

После перебора всей последовательности получаем $365$ подходящих пар.

Минимальная сумма элементов такой пары равна $5888$. Она получается, например, для соседних чисел $3038$ и $2850$:

$3038\bmod15=8$,
$2850\bmod15=0$,
$8+0=8$.

Сумма элементов пары: $3038+2850=5888$.

Код на Python

a = [int(x) for x in open('17-02.txt')]

m = min(a)

sums = []

for i in range(len(a) - 1):
    if a[i] % 15 + a[i + 1] % 15 == m:
        sums.append(a[i] + a[i + 1])

print(len(sums), min(sums))

Программа выводит:

365 5888
Показать
Очки опыта 20
Спросить Зави
Сообщить о проблеме
3. Задание #296951
Задание было решено верно
Задание было решено неверно

В файле содержится последовательность целых чисел. Её элементы могут принимать целые значения от $-100,000$ до $100,000$ включительно. Определите количество пар последовательности, в которых элементы не равны, а абсолютное значение их разности делится на минимальный положительный элемент последовательности, кратный $33$. Гарантируется, что такой элемент в последовательности есть.

В ответе запишите количество найденных пар, затем максимальную из сумм элементов таких пар. В данной задаче под парой подразумевается $2$ идущих подряд элемента последовательности.

Сначала найдём минимальный положительный элемент последовательности, который кратен $33$. Для этого среди всех положительных чисел проверим условие делимости на $33$.

Минимальный подходящий элемент равен $297$.

Теперь рассмотрим все пары соседних элементов последовательности.

Для каждой пары чисел $a$ и $b$ должны одновременно выполняться два условия.

  • Первое: элементы пары не равны: $a\ne b$.
  • Второе: абсолютное значение их разности должно делиться на $297$ без остатка: $|a-b|\bmod297=0$.

Если оба условия выполняются, увеличиваем количество найденных пар и запоминаем сумму элементов пары: $a+b$.

После перебора всей последовательности получаем $33$ подходящие пары.

Максимальная сумма равна $164160$. Она получается для соседних элементов $90396$ и $73764$.

Проверим условие: $|90396-73764|=16632$, $16632:297=56$, следовательно, разность делится на $297$ без остатка.

Сумма элементов пары: $90396+73764=164160$.

Код на Python

a = [int(x) for x in open('17-03.txt')]

m = min(x for x in a if x > 0 and x % 33 == 0)

count = 0
max_sum = -10**20

for i in range(len(a) - 1):
    x = a[i]
    y = a[i + 1]

    if x != y and abs(x - y) % m == 0:
        count += 1
        max_sum = max(max_sum, x + y)

print(count, max_sum)

Программа выводит:

33 164160
Показать
Очки опыта 20
Спросить Зави
Сообщить о проблеме
4. Задание #296962
Задание было решено верно
Задание было решено неверно

В файле содержится последовательность натуральных чисел. Её элементы могут принимать целые значения от $1$ до $100,000$ включительно. Определите количество пар последовательности, в которых сумма остатков от деления обоих элементов на $21$ равна минимальному элементу последовательности.

В ответе запишите количество найденных пар, затем максимальную из сумм элементов таких пар. В данной задаче под парой подразумевается два идущих подряд элемента последовательности.

Сначала найдём минимальный элемент всей последовательности. Минимальный элемент равен $8$. Теперь будем рассматривать все пары соседних элементов последовательности.

Для каждой пары чисел $a$ и $b$ найдём остатки от деления каждого элемента на $21$: $a\bmod21$ и $b\bmod21$.

Пара подходит, если сумма этих остатков равна минимальному элементу последовательности, то есть $a\bmod21+b\bmod21=8$.

Для каждой подходящей пары увеличиваем счётчик и вычисляем сумму её элементов: $a+b$. После перебора всей последовательности получаем $213$ подходящих пар.

Максимальная сумма элементов такой пары равна $171263$. Она получается для соседних чисел $87886$ и $83377$.

Проверим условие:

$87886\bmod21=1$,
$83377\bmod21=7$,
$1+7=8$.

Сумма элементов: $87886+83377=171263$.

Код на Python

a = [int(x) for x in open('17-04.txt')]

m = min(a)

count = 0
max_sum = 0

for i in range(len(a) - 1):
    x = a[i]
    y = a[i + 1]

    if x % 21 + y % 21 == m:
        count += 1
        max_sum = max(max_sum, x + y)

print(count, max_sum)

Программа выводит:

213 171263
Показать
Очки опыта 20
Спросить Зави
Сообщить о проблеме
5. Задание #296956
Задание было решено верно
Задание было решено неверно

В файле содержится последовательность целых чисел. Её элементы могут принимать целые значения от $-100,000$ до $100,000$ включительно. Определите количество пар последовательности, в которых сумма элементов меньше минимального положительного элемента последовательности, кратного $21$. Гарантируется, что такой элемент в последовательности есть.

В ответе запишите количество найденных пар, затем абсолютное значение максимальной из сумм элементов таких пар. В данной задаче под парой подразумевается два идущих подряд элемента последовательности.

Сначала найдём минимальный положительный элемент последовательности, который делится на $21$ без остатка. Минимальный подходящий элемент равен $735$. Проверим: $735:21=35$.

Теперь будем рассматривать все пары соседних элементов последовательности. Для каждой пары чисел $a$ и $b$ вычислим их сумму: $a+b$.

Пара подходит, если эта сумма меньше найденного значения $735$: $a+b<735$.

Для каждой подходящей пары увеличиваем счётчик и запоминаем её сумму. После перебора всей последовательности получаем $4990$ подходящих пар.

Затем среди сумм всех подходящих пар находим максимальную. Она равна $723$.

Например, такая сумма получается для соседних элементов $96316$ и $-95593$: $96316+(-95593)=723$.

Условие выполняется: $723<735$.

По условию в ответе требуется записать абсолютное значение максимальной суммы: $|723|=723$.

Код на Python

a = [int(x) for x in open('17-05.txt')]

m = min(x for x in a if x > 0 and x % 21 == 0)

count = 0
max_sum = -10**20

for i in range(len(a) - 1):
    x = a[i]
    y = a[i + 1]

    if x + y < m:
        count += 1
        max_sum = max(max_sum, x + y)

print(count, abs(max_sum))

Программа выводит:

4990 723
Показать
Очки опыта 20
Спросить Зави
Сообщить о проблеме
6. Задание #296957
Задание было решено верно
Задание было решено неверно

В файле содержится последовательность целых чисел. Её элементы могут принимать целые значения от $-100,000$ до $100,000$ включительно. Определите количество троек элементов последовательности, в каждой из которых есть не менее одного пятизначного числа, а сумма элементов тройки не меньше максимального элемента последовательности, оканчивающегося на $27$.

В ответе запишите количество найденных троек чисел, затем максимальную из сумм элементов таких троек. В данной задаче под тройкой подразумевается три идущих подряд элемента последовательности.

В первой строке файла записано количество элементов последовательности — $6684$, поэтому сами элементы начинаются со второй строки.

Сначала найдём максимальный элемент последовательности, оканчивающийся на $27$. Чтобы проверить, что число оканчивается на $27$, используем условие $|x|\bmod100=27$.

Максимальный подходящий элемент равен $73627$. Теперь будем рассматривать все тройки подряд идущих элементов последовательности.

Для каждой тройки нужно проверить два условия.

  • Первое: в тройке должно быть хотя бы одно пятизначное число. Для числа $x$ это означает: $10000\leq|x|\leq99999$.
  • Второе: сумма трёх элементов должна быть не меньше найденного значения $73627$: $a+b+c\geq73627$.

Если оба условия выполняются, увеличиваем счётчик подходящих троек и запоминаем сумму элементов этой тройки.

После перебора всей последовательности получаем $453$ подходящие тройки.

Максимальная сумма среди них равна $285731$. Она получается для тройки $95870,\ 90500,\ 99361$.

Проверим сумму: $95870+90500+99361=285731$.

При этом $285731\geq73627$, и все три числа являются пятизначными, поэтому тройка подходит.

Код на Python

f = open('17-06.txt')

n = int(f.readline())
a = [int(x) for x in f]

m = max(x for x in a if abs(x) % 100 == 27)

count = 0
max_sum = -10**20

for i in range(len(a) - 2):
    x = a[i]
    y = a[i + 1]
    z = a[i + 2]

    if (10000 <= abs(x) <= 99999 or
        10000 <= abs(y) <= 99999 or
        10000 <= abs(z) <= 99999):

        s = x + y + z

        if s >= m:
            count += 1
            max_sum = max(max_sum, s)

print(count, max_sum)

Программа выводит:

453 285731
Показать
Очки опыта 20
Спросить Зави
Сообщить о проблеме
7. Задание #296967
Задание было решено верно
Задание было решено неверно

В файле содержится последовательность натуральных чисел. Её элементы могут принимать целые значения от $1$ до $100,000$ включительно. Определите количество пар последовательности, в которых остаток от деления на $33$ хотя бы одного из элементов равен минимальному элементу последовательности.

В ответе запишите количество найденных пар, затем максимальную из сумм элементов таких пар. В данной задаче под парой подразумевается два идущих подряд элемента последовательности.

Сначала найдём минимальный элемент всей последовательности. Минимальный элемент равен $8$. Теперь будем рассматривать все пары соседних элементов последовательности.

Для каждой пары чисел $a$ и $b$ найдём остатки от деления каждого элемента на $33$.

По условию пара подходит, если хотя бы один из остатков равен минимальному элементу последовательности, то есть $8$: $a\bmod33=8$ или $b\bmod33=8$.

Если условие выполняется, увеличиваем количество найденных пар и вычисляем сумму элементов пары: $a+b$.

После перебора всей последовательности получаем $622$ подходящие пары.

Максимальная сумма элементов такой пары равна $174933$. Она получается для соседних чисел $89620$ и $85313$.

Проверим условие:

$89620\bmod33=25$,
$85313\bmod33=8$.

Хотя бы один из остатков равен $8$, поэтому пара подходит.

Сумма элементов: $89620+85313=174933$.

Код на Python

a = [int(x) for x in open('17-07.txt')]

m = min(a)

count = 0
max_sum = 0

for i in range(len(a) - 1):
    x = a[i]
    y = a[i + 1]

    if x % 33 == m or y % 33 == m:
        count += 1
        max_sum = max(max_sum, x + y)

print(count, max_sum)

Программа выводит:

622 174933
Показать
Очки опыта 20
Спросить Зави
Сообщить о проблеме
8. Задание #296966
Задание было решено верно
Задание было решено неверно

В файле содержится последовательность натуральных чисел. Её элементы могут принимать целые значения от $1$ до $100,000$ включительно. Определите количество пар последовательности, в которых остаток от деления на $55$ хотя бы одного из элементов равен минимальному элементу последовательности.

В ответе запишите количество найденных пар, затем минимальную из сумм элементов таких пар. В данной задаче под парой подразумевается два идущих подряд элемента последовательности.

Сначала найдём минимальный элемент всей последовательности. Минимальный элемент равен $8$. Теперь будем рассматривать все пары соседних элементов последовательности.

Для каждой пары чисел $a$ и $b$ найдём остатки от деления каждого элемента на $55$.

По условию пара подходит, если хотя бы один из остатков равен минимальному элементу последовательности, то есть $8$: $a\bmod55=8$ или $b\bmod55=8$.

Если условие выполняется, увеличиваем количество найденных пар и вычисляем сумму элементов пары: $a+b$.

После перебора всей последовательности получаем $359$ подходящих пар.

Минимальная сумма элементов такой пары равна $3716$. Она получается для соседних чисел $943$ и $2773$.

Проверим условие:

$943\bmod55=8$,
$2773\bmod55=23$.

Хотя бы один из остатков равен $8$, поэтому пара подходит.

Сумма элементов: $943+2773=3716$.

Код на Python

a = [int(x) for x in open('17-08.txt')]

m = min(a)

count = 0
min_sum = 10**20

for i in range(len(a) - 1):
    x = a[i]
    y = a[i + 1]

    if x % 55 == m or y % 55 == m:
        count += 1
        min_sum = min(min_sum, x + y)

print(count, min_sum)

Программа выводит:

359 3716
Показать
Очки опыта 20
Спросить Зави
Сообщить о проблеме
9. Задание #296969
Задание было решено верно
Задание было решено неверно

В файле содержится последовательность целых чисел. Её элементы могут принимать целые значения от $-100,000$ до $100,000$ включительно. Определите количество пар последовательности, в которых сумма элементов меньше минимального положительного элемента последовательности, кратного $123$. Гарантируется, что такой элемент в последовательности есть.

В ответе запишите количество найденных пар, затем абсолютное значение максимальной из сумм элементов таких пар. В данной задаче под парой подразумевается два идущих подряд элемента последовательности.

Сначала найдём минимальный положительный элемент последовательности, который делится на $123$ без остатка. Минимальный такой элемент равен $984$.

Проверим: $984:123=8$.

Теперь будем рассматривать все пары соседних элементов последовательности.

Для каждой пары чисел $a$ и $b$ вычислим их сумму: $a+b$. По условию пара подходит, если эта сумма меньше найденного числа $984$: $a+b<984$.

Для каждой подходящей пары увеличиваем счётчик и запоминаем её сумму.

После перебора всей последовательности получаем $5001$ подходящую пару.

Максимальная сумма среди подходящих пар равна $962$. Она получается для соседних элементов $53813$ и $-52851$. Проверим:

$53813+(-52851)=962$,
$962<984$.

По условию требуется записать абсолютное значение максимальной суммы: $|962|=962$.

Код на Python

a = [int(x) for x in open('17-09.txt')]

m = min(x for x in a if x > 0 and x % 123 == 0)

count = 0
max_sum = -10**20

for i in range(len(a) - 1):
    x = a[i]
    y = a[i + 1]

    if x + y < m:
        count += 1
        max_sum = max(max_sum, x + y)

print(count, abs(max_sum))

Программа выводит:

5001 962
Показать
Очки опыта 20
Спросить Зави
Сообщить о проблеме
10. Задание #296973
Задание было решено верно
Задание было решено неверно

В файле содержится последовательность натуральных чисел. Её элементы могут принимать целые значения от $1$ до $100,000$ включительно. Определите количество пар последовательности, в которых только один из элементов является двузначным числом, а сумма элементов пары кратна минимальному двузначному элементу последовательности.

В ответе запишите количество найденных пар, затем максимальную из сумм элементов таких пар. В данной задаче под парой подразумевается два идущих подряд элемента последовательности.

В первой строке файла записано количество элементов последовательности — $4404$, поэтому сами элементы начинаются со второй строки.

Сначала найдём минимальный двузначный элемент последовательности. Двузначные числа находятся в диапазоне от $10$ до $99$. Минимальный двузначный элемент равен $10$. Теперь будем рассматривать все пары соседних элементов последовательности.

Для каждой пары чисел $x$ и $y$ необходимо проверить два условия.

  • Первое: только один элемент пары должен быть двузначным. То есть либо $x$ двузначное, а $y$ — нет, либо наоборот. Это можно проверить с помощью условия: $10\leq x\leq99$ или $10\leq y\leq99$, причём должно выполняться только одно из этих условий.
  • Второе: сумма элементов пары должна быть кратна минимальному двузначному элементу, то есть $10$: $(x+y)\bmod10=0$.

Если оба условия выполнены, увеличиваем количество найденных пар и запоминаем сумму элементов пары.

После перебора всей последовательности получаем $150$ подходящих пар.

Максимальная сумма элементов такой пары равна $9930$. Она получается для соседних чисел $66$ и $9864$.

Проверим: $66$ — двузначное число, а $9864$ — не двузначное.

Сумма элементов: $66+9864=9930$.

Проверим кратность: $9930\bmod10=0$. Следовательно, эта пара подходит.

Код на Python

f = open('17-10.txt')

n = int(f.readline())
a = [int(x) for x in f]

m = min(x for x in a if 10 <= x <= 99)

count = 0
max_sum = 0

for i in range(len(a) - 1):
    x = a[i]
    y = a[i + 1]

    if ((10 <= x <= 99) + (10 <= y <= 99) == 1):
        if (x + y) % m == 0:
            count += 1
            max_sum = max(max_sum, x + y)

print(count, max_sum)

Программа выводит:

150 9930
Показать
Очки опыта 20
Спросить Зави
Сообщить о проблеме
11. Задание #296975
Задание было решено верно
Задание было решено неверно

В файле содержится последовательность натуральных чисел. Её элементы могут принимать целые значения от $1$ до $100,000$ включительно. Определите количество пар последовательности, в которых сумма остатков от деления обоих элементов на $18$ равна минимальному элементу последовательности.

В ответе запишите количество найденных пар, затем максимальную из сумм элементов таких пар. В данной задаче под парой подразумевается два идущих подряд элемента последовательности.

Сначала найдём минимальный элемент всей последовательности. Минимальный элемент равен $8$. Теперь будем рассматривать все пары соседних элементов последовательности.

Для каждой пары чисел $x$ и $y$ найдём остатки от деления обоих элементов на $18$: $x\bmod18$ и $y\bmod18$.

По условию пара подходит, если сумма этих остатков равна минимальному элементу последовательности, то есть: $x\bmod18+y\bmod18=8$.

Если условие выполняется, увеличиваем количество найденных пар и вычисляем сумму элементов пары: $x+y$.

После перебора всей последовательности получаем $285$ подходящих пар.

Максимальная сумма элементов такой пары равна $166436$. Она получается для соседних чисел $86120$ и $80316$.

Проверим условие:

$86120\bmod18=8$,
$80316\bmod18=0$,
$8+0=8$.

Сумма элементов пары: $86120+80316=166436$.

Код на Python

a = [int(x) for x in open('17-11.txt')]

m = min(a)

count = 0
max_sum = 0

for i in range(len(a) - 1):
    x = a[i]
    y = a[i + 1]

    if x % 18 + y % 18 == m:
        count += 1
        max_sum = max(max_sum, x + y)

print(count, max_sum)

Программа выводит:

285 166436
Показать
Очки опыта 20
Спросить Зави
Сообщить о проблеме
12. Задание #296979
Задание было решено верно
Задание было решено неверно

В файле содержится последовательность натуральных чисел. Её элементы могут принимать целые значения от $1$ до $100,000$ включительно. Определите количество пар последовательности, в которых сумма остатков от деления обоих элементов на $20$ равна минимальному элементу последовательности.

В ответе запишите количество найденных пар, затем максимальную из сумм элементов таких пар. В данной задаче под парой подразумевается два идущих подряд элемента последовательности.

Сначала найдём минимальный элемент всей последовательности. Минимальный элемент равен $8$. Теперь будем рассматривать все пары соседних элементов последовательности.

Для каждой пары чисел $x$ и $y$ найдём остатки от деления обоих элементов на $20$: $x\bmod20$ и $y\bmod20$.

По условию пара подходит, если сумма этих остатков равна минимальному элементу последовательности, то есть: $x\bmod20+y\bmod20=8$.

Если условие выполняется, увеличиваем количество найденных пар и вычисляем сумму элементов пары: $x+y$.

После перебора всей последовательности получаем $200$ подходящих пар.

Максимальная сумма элементов такой пары равна $173308$. Она получается для соседних чисел $89827$ и $83481$.

Проверим условие:

$89827\bmod20=7$,
$83481\bmod20=1$,
$7+1=8$.

Сумма элементов пары: $89827+83481=173308$.

Код на Python

a = [int(x) for x in open('17-12.txt')]

m = min(a)

count = 0
max_sum = 0

for i in range(len(a) - 1):
    x = a[i]
    y = a[i + 1]

    if x % 20 + y % 20 == m:
        count += 1
        max_sum = max(max_sum, x + y)

print(count, max_sum)

Программа выводит:

200 173308
Показать
Очки опыта 20
Спросить Зави
Сообщить о проблеме
13. Задание #296982
Задание было решено верно
Задание было решено неверно

В файле содержится последовательность целых чисел. Её элементы могут принимать целые значения от $-100,000$ до $100,000$ включительно. Определите количество пар последовательности, в которых хотя бы одно число отрицательно, а сумма чисел пары меньше количества чисел в последовательности, кратных $32$.

В ответе запишите количество найденных пар, затем максимальную из сумм элементов таких пар. В данной задаче под парой подразумевается два идущих подряд элемента последовательности.

Сначала посчитаем, сколько чисел во всей последовательности кратны $32$. Таких чисел оказалось $310$. Теперь будем рассматривать все пары соседних элементов последовательности.

Для каждой пары чисел $x$ и $y$ необходимо проверить два условия.

  • Первое: хотя бы один элемент пары должен быть отрицательным: $x<0$ или $y<0$.
  • Второе: сумма элементов пары должна быть меньше количества чисел, кратных $32$, то есть: $x+y<310$.

Если оба условия выполняются, увеличиваем количество подходящих пар и запоминаем сумму элементов пары.

После перебора всей последовательности получаем $4969$ подходящих пар.

Максимальная сумма среди таких пар равна $299$. Она получается для соседних чисел $-47129$ и $47428$.

Проверим: $-47129<0$, поэтому в паре есть отрицательное число.

Сумма элементов: $-47129+47428=299$.

Проверим второе условие: $299<310$. Следовательно, эта пара подходит.

Код на Python

a = [int(x) for x in open('17-13.txt')]

k = sum(1 for x in a if x % 32 == 0)

count = 0
max_sum = -10**20

for i in range(len(a) - 1):
    x = a[i]
    y = a[i + 1]

    if (x < 0 or y < 0) and x + y < k:
        count += 1
        max_sum = max(max_sum, x + y)

print(count, max_sum)

Программа выводит:

4969 299
Показать
Очки опыта 20
Спросить Зави
Сообщить о проблеме
14. Задание #296983
Задание было решено верно
Задание было решено неверно

В файле содержится последовательность целых чисел. Её элементы могут принимать целые значения от $-100,000$ до $100,000$ включительно. Определите количество троек элементов последовательности, в которых не более двух из трёх элементов являются четырёхзначными числами, а сумма элементов тройки не больше максимального элемента последовательности, оканчивающегося на $25$.

В ответе запишите количество найденных троек чисел, затем максимальную из сумм элементов таких троек. В данной задаче под тройкой подразумевается три идущих подряд элемента последовательности.

В первой строке файла записано количество элементов последовательности — $6678$, поэтому сами элементы начинаются со второй строки. Сначала найдём максимальный элемент последовательности, оканчивающийся на $25$.

Для проверки окончания числа на $25$ используем условие: $|x|\bmod100=25$.

Максимальный такой элемент равен $84725$. Теперь будем рассматривать все тройки подряд идущих элементов.

Число является четырёхзначным, если его абсолютное значение находится в диапазоне $1000\leq|x|\leq9999$.

По условию в тройке должно быть не более двух четырёхзначных чисел. Значит, количество четырёхзначных элементов в каждой тройке должно быть меньше или равно $2$.

Кроме того, сумма элементов тройки должна быть не больше $84725$: $x+y+z\leq84725$.

Если оба условия выполняются, увеличиваем количество найденных троек и запоминаем их сумму.

После перебора всей последовательности получаем $6314$ подходящих троек.

Максимальная сумма среди них равна $84523$. Она получается для тройки $-682,\ 85871,\ -666$.

В этой тройке нет четырёхзначных чисел, поэтому первое условие выполняется.

Проверим сумму: $-682+85871-666=84523$.

Также $84523\leq84725$, следовательно, эта тройка подходит.

Код на Python

f = open('17-14.txt')

n = int(f.readline())
a = [int(x) for x in f]

m = max(x for x in a if abs(x) % 100 == 25)

count = 0
max_sum = -10**20

for i in range(len(a) - 2):
    x = a[i]
    y = a[i + 1]
    z = a[i + 2]

    k = sum(1000 <= abs(t) <= 9999 for t in (x, y, z))
    s = x + y + z

    if k <= 2 and s <= m:
        count += 1
        max_sum = max(max_sum, s)

print(count, max_sum)

Программа выводит:

6314 84523
Показать
Очки опыта 20
Спросить Зави
Сообщить о проблеме
15. Задание #296986
Задание было решено верно
Задание было решено неверно

В файле содержится последовательность натуральных чисел. Её элементы могут принимать целые значения от $1$ до $100,000$ включительно. Определите количество пар последовательности, в которых сумма остатков от деления обоих элементов на $12$ равна минимальному элементу последовательности.

В ответе запишите количество найденных пар, затем минимальную из сумм элементов таких пар. В данной задаче под парой подразумевается два идущих подряд элемента последовательности.

Сначала найдём минимальный элемент всей последовательности. Минимальный элемент равен $8$. Теперь будем рассматривать все пары соседних элементов последовательности.

Для каждой пары чисел $x$ и $y$ найдём остатки от деления на $12$: $x\bmod12$ и $y\bmod12$.

По условию сумма этих остатков должна быть равна минимальному элементу последовательности: $x\bmod12+y\bmod12=8$.

Если это условие выполняется, увеличиваем количество подходящих пар и вычисляем сумму их элементов: $x+y$.

После перебора всей последовательности получаем $639$ подходящих пар.

Теперь среди всех подходящих пар найдём минимальную сумму. Она равна $3716$ и получается для соседних чисел $943$ и $2773$.

Проверим остатки:

$943\bmod12=7$,
$2773\bmod12=1$.

Их сумма: $7+1=8$. Значит, пара подходит.

Сумма элементов пары: $943+2773=3716$.

Код на Python

a = [int(x) for x in open('17-15-1.txt')]

m = min(a)

count = 0
min_sum = 10**20

for i in range(len(a) - 1):
    x = a[i]
    y = a[i + 1]

    if x % 12 + y % 12 == m:
        count += 1
        min_sum = min(min_sum, x + y)

print(count, min_sum)

Программа выводит:

639 3716
Показать
Очки опыта 20
Спросить Зави
Сообщить о проблеме
16. Задание #296987
Задание было решено верно
Задание было решено неверно

В файле содержится последовательность целых чисел. Её элементы могут принимать целые значения от $-100,000$ до $100,000$ включительно. Определите количество троек элементов последовательности, в которых ровно два двузначных числа, а квадрат суммы элементов тройки меньше максимального элемента последовательности, оканчивающегося на $33$.

В ответе запишите количество найденных троек чисел, затем максимальную из сумм элементов таких троек. В данной задаче под тройкой подразумевается три идущих подряд элемента последовательности.

В первой строке файла записано количество элементов последовательности — $6702$, поэтому сами элементы начинаются со второй строки.

Сначала найдём максимальный элемент последовательности, оканчивающийся на $33$. Максимальный такой элемент равен $99033$. Теперь будем рассматривать все тройки подряд идущих элементов.

Число считаем двузначным, если его модуль находится в диапазоне $10\leq|x|\leq99$.

В каждой тройке должно быть ровно два таких числа.

Далее вычисляем сумму элементов тройки: $s=x+y+z$.

По условию квадрат этой суммы должен быть меньше $99033$: $s^2<99033$.

Так как $314^2=98596<99033$, а $315^2=99225>99033$, подходящая сумма может находиться в диапазоне от $-314$ до $314$.

После перебора всех троек получаем $68$ подходящих троек.

Максимальная сумма среди них равна $306$. Она получается для тройки $325,\ 80,\ -99$.

В этой тройке ровно два двузначных числа: $80$ и $-99$.

Сумма элементов: $325+80-99=306$.

Проверим второе условие:

$306^2=93636$,
$93636<99033$.

Следовательно, тройка подходит.

Код на Python

f = open('17-16.txt')

n = int(f.readline())
a = [int(x) for x in f]

m = max(x for x in a if abs(x) % 100 == 33)

count = 0
max_sum = -10**20

for i in range(len(a) - 2):
    x = a[i]
    y = a[i + 1]
    z = a[i + 2]

    k = sum(10 <= abs(t) <= 99 for t in (x, y, z))
    s = x + y + z

    if k == 2 and s ** 2 < m:
        count += 1
        max_sum = max(max_sum, s)

print(count, max_sum)

Программа выводит:

68 306
Показать
Очки опыта 20
Спросить Зави
Сообщить о проблеме
17. Задание #296992
Задание было решено верно
Задание было решено неверно

В файле содержится последовательность натуральных чисел. Её элементы могут принимать целые значения от $1$ до $100,000$ включительно. Определите количество троек элементов последовательности, в которых только одно из чисел является двузначным, а сумма элементов тройки не больше максимального элемента последовательности, оканчивающегося на $13$.

В ответе запишите количество найденных троек чисел, затем максимальную из сумм элементов таких троек. В данной задаче под тройкой подразумевается три идущих подряд элемента последовательности.

В первой строке файла записано количество элементов последовательности — $6639$, поэтому сами элементы начинаются со второй строки.

Сначала найдём максимальный элемент последовательности, оканчивающийся на $13$. Для этого выбираем числа, для которых $x\bmod100=13$. Максимальный такой элемент равен $98613$. Теперь будем рассматривать все тройки подряд идущих элементов.

В каждой тройке должно быть ровно одно двузначное число. Для натурального числа $x$ оно является двузначным, если $10\leq x\leq99$.

Для каждой подходящей по этому условию тройки вычисляем сумму: $s=x+y+z$.

По условию она должна быть не больше $98613$: $s\leq98613$.

После перебора всей последовательности получаем $2688$ подходящих троек.

Максимальная сумма среди них равна $98608$. Она получается для тройки $89605,\ 8909,\ 94$.

В этой тройке только число $94$ является двузначным.

Проверим сумму: $89605+8909+94=98608$.

Условие выполняется: $98608\leq98613$.

Код на Python

f = open('17-17.txt')

n = int(f.readline())
a = [int(x) for x in f]

m = max(x for x in a if x % 100 == 13)

count = 0
max_sum = 0

for i in range(len(a) - 2):
    x = a[i]
    y = a[i + 1]
    z = a[i + 2]

    k = sum(10 <= t <= 99 for t in (x, y, z))
    s = x + y + z

    if k == 1 and s <= m:
        count += 1
        max_sum = max(max_sum, s)

print(count, max_sum)

Программа выводит:

2688 98608
Показать
Очки опыта 20
Спросить Зави
Сообщить о проблеме
18. Задание #296997
Задание было решено верно
Задание было решено неверно

В файле содержится последовательность целых чисел. Её элементы могут принимать целые значения от $-100,000$ до $100,000$ включительно. Определите количество троек элементов последовательности, в которых только одно из чисел является трёхзначным, а сумма элементов тройки меньше максимального элемента последовательности, оканчивающегося на $17$.

В ответе запишите количество найденных троек чисел, затем максимальную из сумм элементов таких троек. В данной задаче под тройкой подразумевается три идущих подряд элемента последовательности.

В первой строке файла записано количество элементов последовательности — $6654$, поэтому сами элементы начинаются со второй строки.

Сначала найдём максимальный элемент последовательности, оканчивающийся на $17$. Для проверки окончания числа на $17$ используем условие $|x|\bmod100=17$. Максимальный такой элемент равен $85917$.

Теперь будем рассматривать все тройки подряд идущих элементов.

Число является трёхзначным, если его абсолютное значение находится в диапазоне $100\leq|x|\leq999$.

По условию в каждой тройке должно быть ровно одно трёхзначное число.

Для каждой такой тройки вычисляем сумму: $s=x+y+z$.

Она должна быть меньше $85917$: $s<85917$.

После перебора всей последовательности получаем $2781$ подходящую тройку.

Максимальная сумма среди них равна $85899$. Она получается для тройки $-81,\ 613,\ 85367$.

В этой тройке только число $613$ является трёхзначным.

Проверим сумму: $-81+613+85367=85899$.

Также $85899<85917$, следовательно, эта тройка подходит.

Код на Python

f = open('17-18.txt')

n = int(f.readline())
a = [int(x) for x in f]

m = max(x for x in a if abs(x) % 100 == 17)

count = 0
max_sum = -10**20

for i in range(len(a) - 2):
    x = a[i]
    y = a[i + 1]
    z = a[i + 2]

    k = sum(100 <= abs(t) <= 999 for t in (x, y, z))
    s = x + y + z

    if k == 1 and s < m:
        count += 1
        max_sum = max(max_sum, s)

print(count, max_sum)

Программа выводит:

2781 85899
Показать
Очки опыта 20
Спросить Зави
Сообщить о проблеме
19. Задание #296995
Задание было решено верно
Задание было решено неверно

В файле содержится последовательность натуральных чисел. Её элементы могут принимать целые значения от $1$ до $100,000$ включительно. Определите количество пар последовательности, в которых остаток от деления хотя бы одного из элементов на $16$ равен минимальному элементу последовательности.

В ответе запишите количество найденных пар, затем максимальную из сумм элементов таких пар. В данной задаче под парой подразумевается два идущих подряд элемента последовательности.

Сначала найдём минимальный элемент всей последовательности. Минимальный элемент равен $8$. Теперь будем рассматривать все пары соседних элементов $x$ и $y$.

По условию пара подходит, если остаток от деления хотя бы одного элемента на $16$ равен $8$:$x\bmod16=8$ или $y\bmod16=8$.

Для каждой подходящей пары увеличиваем счётчик и вычисляем сумму: $x+y$.

После перебора всей последовательности получаем $1214$ подходящих пар.

Максимальная сумма равна $176024$. Она получается для соседних чисел $87456$ и $88568$.

Проверим остатки:

$87456\bmod16=0$,
$88568\bmod16=8$.

Хотя бы один остаток равен минимальному элементу последовательности.

Сумма пары: $87456+88568=176024$.

Код на Python

a = [int(x) for x in open('17-19.txt')]

m = min(a)

count = 0
max_sum = 0

for i in range(len(a) - 1):
    x = a[i]
    y = a[i + 1]

    if x % 16 == m or y % 16 == m:
        count += 1
        max_sum = max(max_sum, x + y)

print(count, max_sum)

Программа выводит:

1214 176024
Показать
Очки опыта 20
Спросить Зави
Сообщить о проблеме
20. Задание #297003
Задание было решено верно
Задание было решено неверно

В файле содержится последовательность целых чисел. Её элементы могут принимать целые значения от $-100,000$ до $100,000$ включительно. Определите количество пар последовательности, в которых сумма элементов меньше минимального положительного элемента последовательности, кратного $110$. Гарантируется, что такой элемент в последовательности есть.

В ответе запишите количество найденных пар, затем абсолютное значение максимальной из сумм элементов таких пар. В данной задаче под парой подразумевается два идущих подряд элемента последовательности.

Сначала найдём минимальный положительный элемент последовательности, который кратен $110$. Минимальный такой элемент равен $440$. Действительно, $440\bmod110=0$.

Теперь будем рассматривать все пары соседних элементов последовательности.

Для каждой пары чисел $x$ и $y$ вычисляем сумму: $s=x+y$.

Пара подходит, если эта сумма меньше найденного значения $440$: $x+y<440$.

Для каждой подходящей пары увеличиваем счётчик и запоминаем максимальную сумму.

После перебора всей последовательности получаем $4974$ подходящие пары.

Максимальная сумма среди них равна $425$. Она получается для соседних чисел $-2038$ и $2463$.

Проверим:

$-2038+2463=425$,
$425<440$.

По условию в ответ необходимо записать абсолютное значение максимальной суммы: $|425|=425$.

Код на Python

a = [int(x) for x in open('17-20.txt')]

m = min(x for x in a if x > 0 and x % 110 == 0)

count = 0
max_sum = -10**20

for i in range(len(a) - 1):
    x = a[i]
    y = a[i + 1]

    if x + y < m:
        count += 1
        max_sum = max(max_sum, x + y)

print(count, abs(max_sum))

Программа выводит:

4974 425
Показать
Очки опыта 20
Спросить Зави
03:50:00
Решено заданий: 0 из
0 заданий сегодня