Утраченный символ
Имя входного файла: input.txt
Имя выходного файла: output.txt
Ограничение по времени: 1 секунда
Ограничение по памяти: 256 мегабайт
Стёпа очень любит многоуровневые компьютерные игры. Особенно ему нравятся те игры, в
которых в любой момент можно узнать, на каком по счету уровне он сейчас находится и сколько
всего уровней имеется в этой игре. Обычно где-нибудь в углу экрана находится надпись, например
«10/100», которая означает, что сейчас Стёпа находится на 10 уровне, а всего в игре 100 уровней.
На днях Стёпа установил на свой компьютер новую игру, но оказалось, что разработчик для вывода на экран надписи с номерами уровней использовал шрифт, которого нет на Стёпином компьютере. Шрифт автоматически заменился на какой-то другой, в котором не поддерживается символ
«/».
Теперь два числа, которые должны были быть разделены, слились в одно, и Стёпу это невероятно
расстраивает. Он подумал о том, что можно попробовать самому угадывать место, в котором должен
стоять символ «/», но потом понял, что в некоторых случаях подходящих вариантов может быть
несколько. Например, если на экране написано «1234», это может означать как то, что он находится
на 1 уровне из 234, так и то, что он находится на 12 уровне из 34.
Ему стало интересно, а сколько всего существует подставить символ «/» в надпись
на экране так, чтобы надпись была корректной, то есть чтобы слева и справа от символа были
корректные числа без лидирующих нулей и при этом левое число не превосходило правое
Стёпе ответить на этот вопрос.
Формат входных данных
На вход подается одно целое число N — надпись на экране Стёпы (11 ⩽ N < 10100000).
Формат выходных данных
В выходной файл необходимо вывести одно целое число — количество подставить символ «/» в надпись на экране так, чтобы она была корректной. Гарантируется, что хотя бы один
такой существует
113
475
Ответы на вопрос:
n = int(input())
k = len(str(n)) - 1
l = 0
while k >= len(str(n))//2 :
if (n // 10k <= n % 10k) and (n // 10**(k-1) % 10 != 0):
l += 1
k -= 1
print(l)
Объяснение:
во втором файле по сравнению с первым
стерео *2
16 бит *2
48000 *6 (после * указываю во сколько раз больше, чем в 1 случае)
таким образом, объём второго файла будет в 2*2*6=24раза больше, чем первого.
ну где-то
да, примерный объём первого файла за 10сек оценивается просто
10*1*8000=80 000 байт = 78кбайт
ну а второго
80000*24=1920000байт = 1875кб=1.8м
Популярно: Информатика
-
Dive119.02.2020 08:20
-
КсюшаЛор07.07.2020 05:13
-
Jikarinkite10.06.2021 00:29
-
tomchakd17.04.2021 00:11
-
pirishok14.02.2021 05:21
-
Nactyska500476325619.11.2022 04:49
-
vikyliya25.01.2023 06:49
-
Aruna000125.04.2023 20:08
-
ppavlowich30.01.2022 20:55
-
007sergey08.05.2022 23:35