Циклы

489 задачвместе с подтемами
Число у задачи — рейтинг сложности, слово рядом — насколько она трудна по сравнению с другими задачами такого же типа. Шкалы задач с ответом и задач с кодом между собой не сравниваются. Рядом — счётчики попыток: успешные, неуспешные.
По данному натуральному n вычислите сумму \(1^2+2^2+...+n^2\).

Входные данные
Вводится единственное натуральное число n, не превосходящее 100.

Выходные данные
Необходимо вывести  вычисленную сумму.

Примеры
Входные данные Выходные данные
1 2 5
✓ 44✗ 21500лёгкаяВойти и решать
У Громозеки есть следующие два личных принципа: он никогда не преодолевает расстояние больше L за один день. Он никогда не спит под открытым небом. То есть он должен находться в отеле в конце дня.
На планете Блук N отелей и все расположены на одной улице. Координата i-го отеля (1<=i<=N) равна xi.
Путешествуя по планете Блук, Громозека запланировал Q переездов. Каждым переездом он планирует менять отель aj на bj (1<=j<=Q). Для каждого переезда найдите минимальное количество дней, которое нужно Громозеке, чтобы добраться от aj-го отеля до bj-го, следуя его принципам.
Гарантируется, что он всегда может поехать из aj-го отеля до bj-го отеля.

Входные данные
В первой строке задается целое число N (2<=N<=105) - количество отелей на планете Блук. Во второй строке - N чисел xi - координаты i-го отеля (1<=x1<x2<...<xN<=10, xi+1−xi<=L). В третьей строке записано число L (1<=L<=109).  В четвертой строке - число Q (1<=N<=105). 
В последних Q строчках находится по два различных числа aj и bj (1<=aj,bj<=N). Все числа целые.

Выходные данные
Выведите Q строк. В j-й строке (1<=j<=Q) должно быть указано минимальное количество дней, которое Громозеке нужно, чтобы добраться из  aj-го отеля до bj -го отеля.

 

Примеры
Входные данные Выходные данные Пояснение
1 9
1 3 6 13 15 18 19 29 31
10
4
1 8
7 3
6 7
8 5
4
2
1
2
По 1-му переезду он может проехать от 1-го отеля до 8-го за 4 дня следующим образом:

День 1: Переезд из 1-го отеля во 2-й отель. Пройденное расстояние - 2.
День 2: Переезд из 2-го отеля в 4-й. Пройденное расстояние - 10.
День 3: Переезд из 4-го отеля в 7-й. Пройденное расстояние - 6.
День 4: Переезд из 7-го отеля в 8-й. Пройденное расстояние - 10.

 

Для целых чисел b ( b >= 2 ) и n ( n >= 1 ) пусть функция f(b, n) определяется следующим образом:
\(f (b, n) = n, когда\ n < b \\ f (b, n) = f (b, floor (n / b)) + (n \ mod \ b), когда \ n >= b\)

Здесь
floor(n / b) обозначает наибольшее целое число, не превышающее n / b;
n mod b обозначает остаток от n, деленный на b.

Менее формально f(b, n) равно сумме цифр n, записанных в базе b. Например, справедливо следующее:
\(f (10,87654) = 8 + 7 + 6 + 5 + 4 = 30\\ f (100,87654) = 8 + 76 + 54 = 138\)

Вам даны целые числа n и s. Определите, существует ли целое число b (b >= 2) такое, что f(b, n) = s. Если ответ положительный, найдите наименьшее из таких b.


Входные данные
В первой строке вводится целое число n (1 <= n <= 1011). Во второй строке - целое число (1 <= s <= 1011).

Выходные данные
Выведите ответ на задачу. Если ответа нет, то выведите -1.
 

 

Примеры
Входные данные Выходные данные
1 87654
30
10
2 87654
138
100
3 87654
45678
-1
4 31415926535
1
31415926535
5 1
31415926535
-1

 

Пусть S(n) обозначает сумму цифр числа в десятичной системе счисления. Например, S(123) = 1 + 2 + 3 = 6. Мы будем называть целое число n числом Громозеки, если для всех положительных целых чисел m таких, что m > n, выполняется условие \(\frac {n}{S(n)} <= \frac {m}{S(m)}\). По заданному целому числу K, перечислите K наименьших чисел Громозеки.

Входные данные
На вход подается целое число K (K>=1, K-ое наименьшее число Громозеки не больше 1015).

Выходные данные
Выведите K строк. В i-й строке должен быть указан i-й наименьший номер Громозеки.
 

 

Примеры
Входные данные Выходные данные
1 10 1
2
3
4
5
6
7
8
9
19

 

Громозека любит числовые печеньки. Среди всех числовых печенек Громозека ест только такие, на которых сумма цифр записанного числа в десятичной системе счисления является делителем самого числа. Вам дается число, записанное на печеньке. Определите будет ли ее есть Громозека или нет.

Входные данные
На вход подается целое число N (1<=N<=109).

Выходные данные
Выведите ответ Yes, если Громозека будет есть такую печеньку, No - если не будет.
 

 

Примеры
Входные данные Выходные данные
1 12 Yes
2 101 No

 

Весельчак У любит дарить алмазных черепашек. У него в сумке лежат черепашки либо трех цветов: розовый, белый и зеленый, либо четырех цветов: розовый, белый, зеленый и желтый. Он по очереди дарил черепашек из сумки, цвет i-й черепашки был Si. Цвета представлены следующим образом: - розовый, W - белый, G - зеленый, Y - желтый. Если количество цветов черепашек в сумке было три, выведите Three; если цветов было четыре, выведите Four

Входные данные
В первой строке записано число N (\(1<=N<=100\)) - количество Черепашек, которое вынимал Весельчак У. Во второй строке содержатся N символов Si - цвета, вынимаемых черепашек. Каждый символ Si равен P, W, G или Y. Всегда существуют такие i, j и k, что Si = 'P', Sj = 'W' и Sk = 'G'.

Выходные данные
Если количество цветов черепашек в сумке было три, выведите Three; если цветов было четыре, выведите Four

 

Примеры
Входные данные Выходные данные
1 6
G W Y P Y W
Four
2 9
G W W G P W P G G
Three
3 8
P Y W G Y W Y Y
Four
У вас есть целочисленная переменная x. Первоначально \(x = 0\). Кто-то дал вам строку S длины N, и, используя эту строку, вы выполнили следующую операцию N раз. В i-й операции вы увеличили значение x на 1, если Si = I, и уменьшили значение x на 1, если Si = D. Найдите максимальное значение, которое принимает x во время операций (в том числе до первой операции и после последней операции).

Формат входных данных
В первой строке задается число (\(1<=N<=100\)), во второй - строка S. Длина строки N. Строка содержит только символы и D.

Формат выходных данных
Выведите максимальное значение x, полученное во время операций.

Громозека собирается принять участие в финальном раунде STCoder Contest. В этом соревновании N задач, пронумерованных от 1 до N. Громозека знает, что на  решение задачи i (\(1<=i<=N\)) требуется Ti секунд. Кроме того, участникам предлагается M видов напитков, пронумерованных от 1 до M. Если Громозека выпьет напиток i (\(1 <= i <= M\)), его мозг будет стимулироваться и время, необходимое ему для решения задачи Pi станет Xi секунд. Это не влияет на время решения других задач.
Участнику разрешается выпить ровно один из напитков до начала конкурса. Для каждого напитка Громозека хочет знать, сколько секунд ему понадобится, чтобы решить все задачи, если он выпьет этот напиток. Предположим, что время, необходимое ему для решения всех задач, равно сумме времени, необходимого для решения отдельных задач. Ваша задача - написать вместо Громозеки программу для расчета времени.



Входные данные
На вход подаются целые числа. В первой строке число N (\(1<=N<=100\)), во второй строке N чисел Ti (\(1<=T_i<=10^5\)). В третьей строке задано число M (\(1<=M<=100\)). Далее идет M строк, в каждой из которых задана пара Pi,Xi (\(1<=P_i<=N\), \(1<=X_i<=10^5\)).


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

 

Примеры
Входные данные Выходные данные Пояснения
1 3
2 1 4
2
1 1
2 3
6
9
Если Громозека выпьет напиток под номером 1, время, необходимое ему для решения каждой задачи, составит 1, 1 и 4 секунды, соответственно, всего 6 секунд.
Если Громозека выпьет напиток 2, время, необходимое ему для решения каждой задачи, составит 2, 3 и 4 секунды, соответственно, всего 9 секунд.
2 5
7 2 3 8 5
3
4 2
1 7
4 13
19
25
30
 

 

✓ 5✗ 111 000средняяВойти и решать
В ряд расположены N ящиков. Изначально в i-м ящике слева находится ai конфет.  Громозека выбирает ящик, содержащий хотя бы одну конфету, и съедает одну из конфет в выбранном ящике.Он может выполнять это действие любое количество раз. Его цель добиться того, чтобы в любых двух соседних коробках содержалось не более x конфет.
Найдите минимальное количество операций, необходимых для достижения цели Громозеки.

Входные данные
В первом строке задается два числа N (\(2<=N<=10^5\)) и (\(0<=x<=10^9\)).  Во второй строке содержится N целых чисел a(\(0<=a_i<=10^9\)).

Выходные данные
Выведите ответ на задачу.

 

Примеры
Входные данные Выходные данные Пояснения
1 3 3
2 2 2
1 Необходимо съесть одну конфету во второй коробке. Тогда количество конфет в каждой коробке станет (2,1,2).
2 6 1
1 6 1 2 0 4
11 Например, можно съесть шесть конфет во второй коробке, две в четвертой и три в шестой. Тогда количество конфет в каждой коробке станет (1,0,1,0,0,1).
3 5 9
3 1 4 1 5
0 Цель уже достигнута
4 2 0
5 5
10 Все конфеты должны быть съедены.

 

Алёна собирает вещи в отпуск. С собой в самолёт она может взять ручную кладь и багаж. Для ручной клади у Алёны есть рюкзак, а для багажа – огромный чемодан.
По правилам перевозки масса ручной клади не должна превосходить S кг, а багаж может быть любой массы (за сверхнормативный багаж Алёна готова доплатить). Разумеется,
наиболее ценные вещи – ноутбук, фотоаппарат, документы и т. д. – Алёна хочет положить в ручную кладь.
Алёна разложила все свои вещи в порядке уменьшения их ценности и начинает складывать наиболее ценные вещи в рюкзак. Она действует следующим образом – берёт
самый ценный предмет, и если его масса не превосходит S, то кладёт его в рюкзак, иначе кладёт его в чемодан. Затем она берёт следующий по ценности предмет, если его можно
положить в рюкзак, то есть если его масса вместе с массой уже положенных в рюкзак вещей не превосходит S, то кладёт его в рюкзак, иначе в чемодан, и таким же образом процесс
продолжается для всех предметов в порядке убывания их ценности.
Определите вес рюкзака и чемодана после того, как Алёна сложит все вещи.

Первая строка входных данных содержит число S – максимально разрешённый вес рюкзака. Во второй строке входных данных записано число N – количество предметов.
В следующих N строках даны массы предметов, сами предметы перечислены в порядке убывания ценности (сначала указана масса самого ценного предмета, затем масса второго по
ценности предмета и т. д.). Все числа натуральные, число S не превосходит 2×109, сумма весов всех предметов также не превосходит 2×109. Значение N не превосходит 105.

Программа должна вывести два числа – вес рюкзака и вес чемодана (вес пустого рюкзака и чемодана не учитывается).
Примеры
Входные данные Выходные данные Пояснение
1 20
5
6
10
5
2
3
18 8 Максимально возможная масса рюкзака 20 кг. Дано 5 предметов весом 6, 10, 5, 2, 3.
Сначала предмет весом 6 кладётся в рюкзак, затем предмет весом 10 тоже кладётся в рюкзак. Предмет
весом 5 нельзя положить в рюкзак, так как тогда вес рюкзака станет 21 кг, поэтому предмет весом 5
кладётся в чемодан. Затем предмет весом 2 кладётся в рюкзак, а предмет весом 3 – в чемодан. Вес
рюкзака 6 + 10 + 2 = 18, вес чемодана 5 + 3 = 8.
✓ 95✗ 110600лёгкаяВойти и решать
Легендарный учитель математики Юрий Петрович придумал забавную игру с числами. А именно, взяв произвольное целое число, он переводит его в двоичную систему счисления, получая некоторую последовательность из нулей и единиц, начинающуюся с единицы. (Например, десятичное число 1910 = 1·24+0·23+0·22+1·21+1·20 в двоичной системе запишется как 100112.) Затем учитель начинает сдвигать цифры полученного двоичного числа по циклу (так, что последняя цифра становится первой, а все остальные сдвигаются на одну позицию вправо), выписывая образующиеся при этом последовательности из нулей и единиц в столбик — он подметил, что независимо от выбора исходного числа получающиеся последовательности начинают с некоторого момента повторяться. И, наконец, Юрий Петрович отыскивает максимальное из выписанных чисел и переводит его обратно в десятичную систему счисления, считая это число результатом проделанных манипуляций. Так, для числа 19 список последовательностей будет таким:
10011
11001
11100
01110
00111
10011

и результатом игры, следовательно, окажется число 1·24+1·23+1·22+0·21+0·20 = 28.

Поскольку придуманная игра с числами все больше занимает воображение учителя, отвлекая тем самым его от работы с ну очень одаренными школьниками, Вас просят написать программу, которая бы помогла Юрию Петровичу получать результат игры без утомительных ручных вычислений.
Формат входных данных
Входной файл содержит одно целое число N (0 ≤ N ≤ 32767).
Формат выходных данных
Ваша программа должна вывести в выходной файл одно целое число, равное результату игры.
Примеры
Входные данные Выходные данные
1 19 28
Последовательность чисел a1, a2, …, ai,… называется Фибоначчиевой, если для всех i >= 3 верно, что a= ai–1 + ai–2, то есть каждый член последовательности (начиная с третьего) равен сумме двух предыдущих. Ясно, что задавая различные числа a1 и a2 мы можем получать различные такие последовательности, и любая Фибоначчиева последовательность однозначно задается двумя своими первыми членами.

Будем решать обратную задачу. Вам будет дано число N и два члена последовательности: aN и aN+1. Вам нужно написать программу, которая по их значениям найдет a1 и a2.


Входные данные
Вводятся число N и значения двух членов последователности: aN и aN+1 (1 <= <= 30, члены последовательности - целые числа, по модулю не превышающие 100).
Если вы пишите на языке программирования Python, то считывание aN и aN+1 элементов должно быть организовано так: 
x, y = map(int, input().split()).

Выходные данные
Выведите два числа — значения первого и второго членов этой последовательности.
Примеры
Входные данные Выходные данные
1 4
3 5
1 1
✓ 30✗ 49700средняяВойти и решать
Мы все знаем, что начавшаяся зима скоро закончится, и на праздновании Масленицы все будут есть блины. Об этом и будет наша задача.

N гостей сидят за столом, и перед каждым стоит тарелка с блинами. На тарелке i-го гостя лежит ai блинов. Каждый гость съедает один блин за одну минуту, таким образом, время, когда закончит есть блины последний человек, равно наибольшему значению из ai.

Неожиданно к ним присоединился ещё один человек, и теперь все присутствующие могут переложить часть своих блинов (в том числе могут переложить все свои блины, а могут не перекладывать ни одного блина) вновь пришедшему человеку. Перекладывание блинов происходит одновременно и моментально.

Гости хотят переложить блины таким образом, чтобы после перекладывания они съели все блины за минимальное время (которое равно наибольшему числу блинов на тарелках у гостей, включая нового гостя). Определите, за какое наименьшее время гости смогут съесть свои блины после перекладывания.

Программа получает на вход натуральное число N, не превосходящее 100.000, – первоначальное количество гостей. Следующие N строк содержат натуральные числа ai – количество блинов на тарелке i-го человека. Значения ai даны в порядке неубывания, то есть ai ≤ ai+1. Сумма значений всех ai не превосходит 2·109.

Программа должна вывести одно целое число – минимальное время, за которое все гости закончат есть свои блины после перекладывания части блинов на тарелку нового гостя.
Примеры
Входные данные Выходные данные Пояснение
1 4
1
3
5
6
4 За столом сидят 4 человека, у них на тарелках 1, 3, 5, 6 блинов. Новому гостю последний гость отдаст 2 блина, а предпоследний – 1 блин, и тогда у всех, включая нового гостя, будет не более 4 блинов.
На Новом проспекте построили подряд 10 зданий. Каждое здание может быть либо жилым домом, либо магазином, либо офисным зданием.

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

Входные данные
Программа получает на вход десять чисел, разделенных пробелами. Каждое число задает тип здания на Новом проспекте: число 1 обозначает жилой дом, число 2 обозначает магазин, число 0 обозначает офисное здание. Гарантируется, что на Новом проспекте есть хотя бы один жилой дом и хотя бы один магазин.

Выходные данные
Выведите одно целое число: наибольшее расстояние от дома до ближайшего к нему магазина. Расстояние между двумя соседними домами считается равным 1 (то есть если два дома стоят рядом, то между ними расстояние 1, если между двумя домами есть еще один дом, то расстояние между ними равно 2 и т.д.)
Примеры
Входные данные Выходные данные Пояснение
1 2 0 1 1 0 1 0 2 1 2 3 В примере из условия дальше всего идти до ближайшего магазина жителям четвертого дома: ближайший к их дому магазин находится в первом доме, и им нужно пройти три дома до него. Жителям других домов придется пройти меньшее расстояние до ближайшего магазина, поэтому ответ 3.
Рассмотрим последовательности чисел. Первая последовательность состоит из одного числа K. Каждая следующая последовательность чисел описывает предыдущую по такому правилу.

Просматриваем описываемую последовательность слева направо и разбиваем на отрезки, состоящие из подряд идущих равных чисел (причем все идущие подряд одинаковые числа всегда объединяем в один отрезок). Далее каждый такой отрезок описываем двумя числами — первое число говорит, сколько раз повторяется одно и то же число, второе число говорит, какое именно число повторяется. Записываем эти пары последовательно в соответствии с отрезками слева направо, и получаем новую последовательность (см. примеры ниже).

Например, для K=2 последовательности получатся такими:
Последовательность Как ее читать (слова в описании соответствуют числам текущей последовательности слева направо, и описывают предыдущую последовательность)
1 2 Исходная последовательность
2 1 2 Одна «двойка»
3 1 1 1 2 Одна «единица», одна «двойка»
4 3 1 1 2 Три «единицы», одна «двойка»
5 1 3 2 1 1 2 Одна «тройка», две «единицы», одна «двойка»
6 1 1 1 3 1 2 2 1 1 2 Одна «единица», одна «тройка», одна «двойка», две «единицы», одна «двойка»

Напишите программу, которая по исходному числу K напечатает N-ую получающуюся последовательность.

Входные данные
Вводится число K (1 ≤ K ≤ 9) и число N (1 ≤ N ≤ 15).

Выходные данные
Ваша программа должна печатать N-ую последовательность, полученную из начальной последовательности, состоящей из одного числа K. Числа при выводе следует разделять пробелами.
 
Примеры
Входные данные Выходные данные
1 2
6
1 1 1 3 1 2 2 1 1 2 
2 2
1
2
3 1
3
2 1
✓ 21✗ 16900средняяВойти и решать
На контрольной работе N учеников сидят в ряд. Для каждого ученика известно, какую оценку он получил бы, если бы писал эту контрольную самостоятельно (оценка — это число от 2 до 5). Однако ученики могут писать контрольную не только самостоятельно, но и списывать у своего соседа, но только если сосед пишет контрольную самостоятельно. В этом случае списывающий получит такую же оценку, какую получит тот, у кого он списал.

А именно (правила применяются строго в указанном порядке):
  • Школьники, которые знают материал на 5, будут писать контрольную самостоятельно.
  • Школьник, который знает материал на 4, если он сидит рядом с тем, кто знает на 5, будет списывать у него, а в противном случае будет писать самостоятельно.
  • Школьник, который знает на 3, если он сидит рядом с тем, кто знает на 5, будет списывать у него. Если среди его соседей знающего на 5 нет, но есть тот, кто знает на 4, и при этом пишет самостоятельно, то троечник будет списывать у него. В противном случае будет писать самостоятельно.
  • Аналогично школьник, знающий на 2 — из соседей, которые пишут самостоятельно, выберет того, кто знает лучше, и спишет у него. А если таких нет (или оба его соседа также знают на 2), то будет писать самостоятельно.
Определите, кто какую оценку в итоге получит.

Входные данные
Вводится число N (1<=N<=10) - количество учеников, и далее последовательность из N чисел, описывающая, кто на какую оценку может написать контрольную, если будет писать самостоятельно.

Выходные данные
Выведите N чисел - оценки, которые получат ученики за контрольную.
 
Примеры
Входные данные Выходные данные Пояснение
1 5
5
2
3
4
5
5
5
3
5
5
Первый и пятый ученики будут писать самостоятельно. Второй спишет у первого, а четвертый — у пятого (в итоге также получат пятерки). Третьему не у кого списывать, так как его соседи будут писать работу не самостоятельно.
2 6
2
2
3
2
2
4
2
3
3
3
4
4
Второй и четвертый спишут у третьего, пятый — у шестого.
✓ 34✗ 157900средняяВойти и решать
Все буквы латинского алфавита делятся на гласные и согласные. Гласными буквами являются: a, e, i, o, u, y. Остальные буквы являются согласными.

Слово называется благозвучным, если в этом слове не встречается больше двух согласных букв подряд и не встречается больше двух гласных букв подряд. Например, слова abba, mama, program — благозвучные, а слова aaa, school, search — неблагозвучные.

Вводится слово. Если это слово является неблагозвучным, то разрешается добавлять в любые места этого слова любые буквы. Определите, какое минимальное количество букв можно добавить в это слово, чтобы оно стало благозвучным.

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

Выходные данные
Выведите минимальное число букв, которые нужно добавить в это слово, чтобы оно стало благозвучным.
 
Примеры
Входные данные Выходные данные Пояснение
1 program 0 Слово уже является благозвучным.
2 school 1 Достаточно добавить одну гласную букву, например, между буквами s  и с
Егор очень любит Москву и часто ходит на прогулку, чтобы полюбоваться ее видами.

Москва в представлении Егора представляет собой длинное прямое шоссе, вдоль которого расположено n башен, пронумерованных в порядке их следования числами от 1 до n. Все башни имеют различные высоты, которые выражаются целыми числами от 1 до n . Высота башни с номером i составляет hi .

Однако Егор не любит возрастающие последовательности. Его разочаровывают тройки башен, таких что с возрастанием их индексов их значения тоже возрастают. Более формально, тройка башен с номерами i , j и k разочаровывает Егора, если i < j < k и hi < hj < h k .

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

Входные данные
Первая строка входных данных содержит единственное число n — количество башен в Москве ( 1 ≤ n ≤ 8000 ).

Вторая строка входных данных содержит n различных натуральных чисел, i -е из них h i — высота i -й башни ( 1 ≤ hi ≤ n ).

Выходные данные
Выведите одно число — количество троек башен, которые разочаруют Егора.

Обратите внимание, что ответ может не поместиться в стандартный 32-битный тип данных. Надо использовать 64-битный тип, в паскале он называется « int64 », в C++ « long long », в Java « long ».
 
Примеры
Входные данные Выходные данные
1 5
1 3 4 2 5
5
2 3
3 1 2
0
✓ 4✗ 121 200средняяВойти и решать
Благотоворительные организации каждый год собирают деньги на теплую одежду бедным. У главного героя этой задачи есть целых две куртки, но это не мешает ему страдать. Одна из его курток — зимняя, а вторая — демисезонная (в ней приятно ходить осенью или весной). Куртки подобраны идеально: в зимней куртке комфортно при температуре в x градусов или ниже, а в демисезонной – при температуре выше x градусов. В общем, жить бы ему и радоваться. Но откуда бы тогда появиться задаче?

Проблема нашего героя в том, что он, надевая сегодня не ту куртку, которую носил вчера, по- стоянно забывает переложить проездной, ключи и прочие полезные вещи в карман новой куртки. Немного подумав, он решил, что не совсем подходящая к сегодняшней температуре куртка — это не так плохо, как забытые вещи. Поэтому, если сегодня незначительно теплее, чем граничная температура, он все равно пойдет в зимней куртке, аналогично для демисезонной. Чуть более формально это звучит так: он меняет куртку с зимней на демисезонную, только если сегодня за окном есть хотя бы x + d  градусов, а с демисезонной на зимнюю — если за окном x − d  градусов или холоднее. Иногда ему, конечно, не очень комфортно на улице, но зато все вещи точно с собой.

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

Входные данные
В первой строчке даны два вещественных числа x и d — граница температуры между куртками и отклонение температуры, которое герой задачи считает незначительным (−89≤x≤55, 1≤d≤6 ).

Во второй строчке дано целое число n, 1≤n≤105 — количество дней в архиве прогноза погоды.

В третьей строчке перечислены n вещественных чисел ti — температура в i-й день (−89≤ti≤55 ).

Выходные данные
Выведите одно число: количество дней, в которые герою задачи было некомфортно в той куртке, в которой он вышел в этот день
 
Примеры
Входные данные Выходные данные
1 5 1
7
6 7 4 4 2 3 7
0
2 0 2
4
-1 1 -1 1
2
В младшей группе детского сада «Телепузики» всего n детей. Каждый из них, как и любой четырехлетка, легко может начать плакать просто из-за того, что его одногруппники тоже плачут. Ну и что, что он не знает, в чем дело? Товарищи же не могут ошибаться.

Воспитательница работает в детском саду уже много лет, и отлично разбирается в детском настроении. Ей достаточно посмотреть на ребенка, чтобы понять, насколько он сегодня плаксив: заплачет ли он сегодня сам из-за того, что компот невкусный, разрыдается ли из-за того, что Катя и Ваня уже плачут, а он еще нет, или же будет сосредоточенно играть c кубиками, не обращая внимание на слезы и сопли товарищей.

Зная сегодняшнюю плаксивость каждого из детей, определите, будет ли сегодня рыдать вся группа одновременно, или обойдется без массовой истерики.

Входные данные
В первой строке дано целое число n (1n1000) — количество детей в группе. В следующей строке через пробел перечислены n чисел, причем i-е по счету число qi (0qin−1  ) обозначает плаксивость i-го ребенка. Число qi обозначает количество детей, которые должны заплакать, чтобы этот ребенок тоже заплакал. Если qi = 0, значит, этот ребенок точно сегодня заплачет просто так, вне зависимости от своих товарищей. Считается, что ребенок не может начать плакать, если вокруг него не плачет нужное количество детей. Если ребенок начал плакать, то он уже не успокоится до вечера.

Выходные данные
Выведите «YES», если вся группа будет плакать одновременно, или «NO» иначе.
Примеры
Входные данные Выходные данные
1 4
1 0 1 2
YES
2 3
1 1 1
NO
Поделиться
Класснуть