Есть N человек, и текущая длина волос i-го человека (1 \leq i \leq N) составляет L_i.
Волосы каждого человека растут на 1 в день.
Выведите количество дней, через которое количество людей с длиной волос не менее T впервые станет равным P или больше.
Если уже есть P или больше людей с длиной волос не менее T, выведите 0.

Входные данные

Входные данные даются из стандартного ввода в следующем формате:
N T P
L_1 L_2 \ldots L_N

Выходные данные

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

Ограничения

- 1 \leq N \leq 100
- 1 \leq L_i \leq 100
- 1 \leq T \leq 100
- 1 \leq P \leq N
- Все входные значения являются целыми числами.

Пример ввода 1

5 10 3
3 11 1 6 2

Пример вывода 1

7

Есть пять человек, и их текущая длина волос составляет 3, 11, 1, 6, 2, поэтому есть один человек, чья длина волос составляет не менее 10.
Через семь дней длина волос людей будет 10, 18, 8, 13, 9 соответственно, и будет три человека, чья длина волос составляет не менее 10.
Через шесть дней есть только два человека, чья длина волос составляет не менее 10, что не удовлетворяет условию, поэтому выведите 7.

Пример ввода 2

2 5 2
10 10

Пример вывода 2

0

Поскольку уже есть два человека, чья длина волос составляет не менее 5, что удовлетворяет условию, поэтому выведите 0.

Пример ввода 3

3 10 1
1 2 3

Пример вывода 3

7

Имеется N человек, и текущая длина волос i-го человека (1 \leq i \leq N) равна L_i.
Волосы каждого человека растут на 1 в день.
Выведите количество дней, после которых количество людей с длиной волос не менее T впервые станет P или больше.
Если уже есть P или более людей, у которых длина волос сейчас равна T, выведите 0.

Ввод

Вводные данные передаются из стандартного ввода в следующем формате:
N T P
L_1 L_2 \ldots L_N

Вывод

Выведите количество дней, после которых количество людей с длиной волос не менее T впервые станет P или больше.
Если это условие уже выполнено, выведите 0.

Ограничения

- 1 \leq N \leq 100
- 1 \leq L_i \leq 100
- 1 \leq T \leq 100
- 1 \leq P \leq N
- Все входные значения являются целыми числами.

Пример ввода 1

5 10 3
3 11 1 6 2

Пример вывода 1

7

Есть пять человек, и их текущие длины волос это 3, 11, 1, 6, 2, поэтому есть один человек, у которого длина волос не менее 10.
Через семь дней длина волос людей составит 10, 18, 8, 13, 9, соответственно, и останется три человека, у которых длина волос будет не менее 10.
Через шесть дней останется только два человека, у которых длина волос будет не менее 10, что не удовлетворяет условию, поэтому выведите 7.

Пример ввода 2

2 5 2
10 10

Пример вывода 2

0

Поскольку уже есть два человека, у которых длина волос равна не менее 5, что соответствует условию, выведите 0.

Пример ввода 3

3 10 1
1 2 3

Пример вывода 3

7

Существует N человек, и текущая длина волос i-го человека (1 \leq i \leq N) равна L_i.
Волосы у каждого человека растут на 1 волос в день.
Выведите количество дней, по истечении которых количество людей, длина волос которых составляет не менее T, впервые становится P или более.
Если уже существует P или больше людей, длина волос которых сейчас не менее T, выведите 0.

Input

The input is given from Standard Input in the following format:
N T P
L_1 L_2 \ldots L_N

Output

Print the number of days after which the number of people whose hair length is at least T becomes P or more for the first time.
If this condition is already satisfied now, print 0.

Constraints

- 1 \leq N \leq 100
- 1 \leq L_i \leq 100
- 1 \leq T \leq 100
- 1 \leq P \leq N
- All input values are integers.

Sample Input 1

5 10 3
3 11 1 6 2

Sample Output 1

7

There are five people, and their current hair lengths are 3, 11, 1, 6, 2, so there is one person whose hair length is at least 10.
After seven days, the hair lengths of the people will be 10, 18, 8, 13, 9, respectively, and there will be three people whose hair length is at least 10.
After six days, there are only two people whose hair length is at least 10, not satisfying the condition, so print 7.

Sample Input 2

2 5 2
10 10

Sample Output 2

0

Since there are already two people whose hair length is at least 5 now, satisfying the condition, so print 0.

Sample Input 3

3 10 1
1 2 3

Sample Output 3

7


Вам дана строка S длиной N, состоящая только из строчных английских букв.
Найдите количество строк, полученных путем перестановки символов S (включая саму строку S), которые не содержат палиндром длиной K в качестве подстроки.
Здесь строка T длиной N считается "содержащей палиндром длиной K в качестве подстроки" в том и только в том случае, если существует неотрицательное целое число i, не превышающее (N-K), такое, что T_{i+j} = T_{i+K+1-j} для каждого целого числа j при 1 \leq j \leq K.
Здесь T_k обозначает k-й символ строки T.

Ввод

Ввод предоставляется из стандартного ввода в следующем формате:
N K
S

Вывод

Напечатайте количество строк, полученных путем перестановки S, которые не содержат палиндром длиной K в качестве подстроки.

Ограничения

- 2 \leq K \leq N \leq 10
- N и K — целые числа.
- S — строка длиной N, состоящая только из строчных английских букв.

Пример ввода 1

3 2
aab

Пример вывода 1

1

Строки, полученные путем перестановки aab, это aab, aba и baa. Среди них aab и baa содержат палиндром aa длиной 2 в качестве подстроки.
Таким образом, единственная строка, которая удовлетворяет условию, это aba, поэтому выведите 1.

Пример ввода 2

5 3
zzyyx

Пример вывода 2

16

Существует 30 строк, полученных путем перестановки zzyyx, 16 из которых не содержат палиндром длиной 3. Таким образом, напечатайте 16.

Пример ввода 3

10 5
abcwxyzyxw

Пример вывода 3

440640

Вам дана строка S длины N, состоящая только из строчных английских букв.
Найдите количество строк, полученных перестановкой символов S (включая саму строку S), которые не содержат палиндром длины K в качестве подстроки.
Здесь строка T длины N называется «содержащей палиндром длины K в качестве подстроки», если и только если существует неотрицательное целое число i, не большее (N-K), такое, что T_{i+j} = T_{i+K+1-j} для каждого целого числа j с 1 \leq j \leq K.
Здесь T_k обозначает k-й символ строки T.

Входные данные

Входные данные даются из стандартного ввода в следующем формате:
N K
S

Выходные данные

Выведите количество строк, полученных перестановкой S, которые не содержат палиндром длины K в качестве подстроки.

Ограничения

- 2 \leq K \leq N \leq 10
- N и K — целые числа.
- S — строка длины N, состоящая только из строчных английских букв.

Пример ввода 1

3 2
aab

Пример вывода 1

1

Строки, полученные перестановкой aab, — это aab, aba и baa. Среди них aab и baa содержат палиндром aa длины 2 в качестве подстроки.
Таким образом, единственная строка, которая удовлетворяет условию, — это aba, поэтому выведите 1.

Пример ввода 2

5 3
zzyyx

Пример вывода 2

16

В результате перестановки zzyyx получено 30 строк, 16 из которых не содержат палиндром длины 3. Таким образом, выведите 16.

Пример ввода 3

10 5
abcwxyzyxw

Пример вывода 3

440640


Ненулевое целое число X называется числом-палиндромом, если его десятичное представление (без ведущих нулей) является палиндромом.
Например, 363, 12344321 и 0 — все являются числами-палиндромами.
Найдите N-е по величине число-палиндром.

Ввод

Ввод поступает из стандартного ввода в следующем формате:
N

Вывод

Выведите N-е по величине число-палиндром.

Ограничения

- 1 \leq N \leq 10^{18}
- N — это целое число.

Пример ввода 1

46

Пример вывода 1

363

46-е по величине число-палиндром — 363.

Пример ввода 2

1

Пример вывода 2

0

Пример ввода 3

1000000000000000000

Пример вывода 3

90000000000000000000000000000000009


На острове размером H \times W, окруженном морем.
Остров разделен на H строк и W столбцов участков размером 1 \times 1, а высота участка в i-й строке сверху и j-м столбце слева (относительно текущего уровня моря) равна A_{i,j}.
С этого момента уровень моря поднимается на 1 каждый год.
Здесь участок, который вертикально или горизонтально прилегает к морю или к участку, погруженному в море, и имеет высоту не больше уровня моря, погружается в море.
Здесь, когда участок вновь погружается в море, любой вертикально или горизонтально прилегающий участок с высотой не больше уровня моря также погружается в море одновременно, и этот процесс повторяется для вновь погруженных участков.
Для каждого i=1,2,\ldots, Y, найдите площадь острова, которая останется выше уровня моря через i лет.

Ввод

Ввод предоставляется из стандартного ввода в следующем формате:
H W Y
A_{1,1} A_{1,2} \ldots A_{1,W}
A_{2,1} A_{2,2} \ldots A_{2,W}
\vdots
A_{H,1} A_{H,2} \ldots A_{H,W}

Вывод

Выведите Y строк.
i-я строка (1 \leq i \leq Y) должна содержать площадь острова, которая останется выше уровня моря через i лет.

Ограничения

- 1 \leq H, W \leq 1000
- 1 \leq Y \leq 10^5
- 1 \leq A_{i,j} \leq 10^5
- Все входные значения являются целыми числами.

Пример ввода 1

3 3 5
10 2 10
3 1 4
10 5 10

Пример вывода 1

9
7
6
5
4

Пусть (i,j) обозначает участок в i-й строке сверху и j-м столбце слева. Тогда происходит следующее:

- Через 1 год уровень моря выше, чем сейчас, на 1, но нет участков с высотой 1, которые прилегают к морю, поэтому никакие участки не тонут. Таким образом, первая строка должна содержать 9.
- Через 2 года уровень моря выше, чем сейчас, на 2, и (1,2) погружается в море. Это делает (2,2) прилегающим к затонувшему участку, и его высота не больше 2, поэтому он также тонет. Другие участки не тонут. Таким образом, два участка тонут, и вторая строка должна содержать 9-2=7.
- Через 3 года уровень моря выше, чем сейчас, на 3, и (2,1) погружается в море. Другие участки не тонут. Таким образом, третья строка должна содержать 6.
- Через 4 года уровень моря выше, чем сейчас, на 4, и (2,3) погружается в море. Другие участки не тонут. Таким образом, четвертая строка должна содержать 5.
- Через 5 лет уровень моря выше, чем сейчас, на 5, и (3,2) погружается в море. Другие участки не тонут. Таким образом, пятая строка должна содержать 4.

Следовательно, напечатайте 9, 7, 6, 5, 4 в этом порядке, каждое на новой строке.

Пример ввода 2

3 5 3
2 2 3 3 3
2 1 2 1 3
2 2 3 3 3

Пример вывода 2

15
7
0

Остров размером H \times W, окруженный морем.
Остров разделен на H рядов и W столбцов по 1 \times 1 секций, а высота секции в i-й строке сверху и j-й колонке слева (относительно текущего уровня моря) равна A_{i,j}.
Начиная с этого момента, уровень моря повышается на 1 каждый год.
Здесь секция, которая вертикально или горизонтально примыкает к морю, или секция, погруженная в море и имеющая высоту не выше уровня моря, погрузится в море.
Здесь, когда секция вновь погружается в море, любая вертикально или горизонтально примыкающая секция с высотой не выше уровня моря также одновременно погрузится в море, и этот процесс повторяется для вновь погруженных секций.
Для каждого i=1,2,\ldots, Y найдите площадь острова, которая останется над уровнем моря через i лет.

Ввод

Вводные данные задаются из стандартного ввода в следующем формате:
H W Y
A_{1,1} A_{1,2} \ldots A_{1,W}
A_{2,1} A_{2,2} \ldots A_{2,W}
\vdots
A_{H,1} A_{H,2} \ldots A_{H,W}

Вывод

Выведите Y строк.
i-я строка (1 \leq i \leq Y) должна содержать площадь острова, которая останется над уровнем моря через i лет.

Ограничения

- 1 \leq H, W \leq 1000
- 1 \leq Y \leq 10^5
- 1 \leq A_{i,j} \leq 10^5
- Все входные значения являются целыми числами.

Пример ввода 1

3 3 5
10 2 10
3 1 4
10 5 10

Пример вывода 1

9
7
6
5
4

Пусть (i,j) обозначает секцию в i-й строке сверху и j-м столбце слева. Затем происходит следующее:

- Через 1 год уровень моря на 1 выше, чем сейчас, но нет секций с высотой 1, которые примыкают к морю, поэтому ни одна секция не тонет. Таким образом, первая строка должна содержать 9.
- Через 2 года уровень моря на 2 выше, чем сейчас, и (1,2) тонет в море. Это делает (2,2) смежной с затонувшей секцией, и ее высота не больше 2, поэтому она также тонет. Никакие другие секции не тонут в этой точке. Таким образом, две секции тонут, и вторая строка должна содержать 9-2=7.
- Через 3 года уровень моря будет выше, чем сейчас, на 3, и (2,1) опустится в море. Никакие другие секции не опустятся. Таким образом, третья строка должна содержать 6.
- Через 4 года уровень моря будет выше, чем сейчас, на 4, и (2,3) опустится в море. Никакие другие секции не опустятся. Таким образом, четвертая строка должна содержать 5.
- Через 5 лет уровень моря будет выше, чем сейчас, на 5, и (3,2) опустится в море. Никакие другие секции не опустятся. Таким образом, пятая строка должна содержать 4.

Поэтому выведите 9, 7, 6, 5, 4 в этом порядке, каждое на новой строке.

Пример ввода 2

3 5 3
2 2 3 3 3
2 1 2 1 3
2 2 3 3 3

Пример вывода 2

15
7
0

Имеется остров размером H \times W, окружённый морем.
Остров разделён на H ряды и W столбцы по 1 \times 1 секций, а высота участка в i-й строке сверху и j-м столбце слева (относительно текущего уровня моря) равна A_{i,j}.
С этого момента уровень моря поднимается на 1 каждый год.
В данном случае в море погружается участок, который вертикально или горизонтально примыкает к морю, или участок, погруженный в море и имеющий высоту, не превышающую уровень моря.
Здесь, когда участок вновь погружается в море, любой соседний по вертикали или горизонтали участок с высотой не выше уровня моря также одновременно погружается в море, и этот процесс повторяется для вновь затонувших участков.
Для каждого i=1,2,\ldots, Y, найдите площадь острова, которая останется над уровнем моря через i лет.

Ввод

Вводные данные передаются из стандартного ввода в следующем формате:
H W Y
A_{1,1} A_{1,2} \ldots A_{1,W}
A_{2,1} A_{2,2} \ldots A_{2,W}
\vdots
A_{H,1} A_{H,2} \ldots A_{H,W}

Вывод

Выведите линии Y.
В i-й строке (1 \leq i \leq Y) должна быть указана площадь острова, которая останется над уровнем моря через i лет.

Ограничения

- 1 \leq H, W \leq 1000
- 1 \leq Y \leq 10^5
- 1 \leq A_{i,j} \leq 10^5
- Все вводные значения являются целыми числами.

Пример ввода 1

3 3 5
10 2 10
3 1 4
10 5 10

Пример вывода 1

9
7
6
5
4

Обозначим через (i,j) раздел в i-й строке сверху и j-м столбце слева. Затем происходит следующее:

- Через 1 год уровень моря выше, чем сейчас, на 1, но участков с отметкой 1, примыкающих к морю, нет, поэтому ни один участок не затонул. Таким образом, первая строка должна содержать 9.
- Через 2 года уровень моря выше нынешнего на 2, и (1,2) опускается в море. В результате (2,2) примыкает к затонувшему участку, а его высота не превышает 2, поэтому он тоже тонет. Никакие другие участки на этом этапе не тонут. Таким образом, два участка опускаются, а вторая строка должна содержать 9-2=7.
- Через 3 года уровень моря выше нынешнего на 3, и (2,1) опускается в море. Другие участки не тонут. Таким образом, третья строка должна содержать 6.
- Через 4 года уровень моря выше, чем сейчас, на 4, и (2,3) опускается в море. Другие участки не тонут. Таким образом, четвертая строка должна содержать 5.
- Через 5 лет уровень моря выше нынешнего на 5, и (3,2) опускается в море. Другие участки не тонут. Таким образом, пятая строка должна содержать 4.

Поэтому выведите 9, 7, 6, 5, 4 в этом порядке, каждое с новой строки.

Пример ввода 2

3 5 3
2 2 3 3 3
2 1 2 1 3
2 2 3 3 3

Пример вывода 2

15
7
0


Есть сетка с H строками и W столбцами. Пусть (i, j) обозначает ячейку в i-й строке сверху и j-м столбце слева.
Ячейка (i, j) пуста, если C_{i, j} — это ., и не пуста, если C_{i, j} — это #.
Такахаши в данный момент находится в ячейке (S_i, S_j), и он будет действовать в соответствии со следующими правилами для i = 1, 2, \ldots, |X| по порядку.

- Если i-й символ X — это L, а ячейка слева от его текущей ячейки существует и пуста, он перемещается в ячейку слева. В противном случае он остается в текущей ячейке.
- Если i-й символ X — это R, а ячейка справа от его текущей ячейки существует и пуста, он перемещается в ячейку справа. В противном случае он остается в текущей ячейке.
- Если i-й символ X - U, а ячейка над его текущей ячейкой существует и пуста, он перемещается в ячейку выше. В противном случае он остается в текущей ячейке.
- Если i-й символ X - D, а ячейка под его текущей ячейкой существует и пуста, он перемещается в ячейку ниже. В противном случае он остается в текущей ячейке.

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

Ввод

Вводные данные даются из стандартного ввода в следующем формате:
H W
S_i S_j
C_{1, 1}C_{1, 2}\ldotsC_{1, W}
C_{2, 1}C_{2, 2}\ldotsC_{2, W}
\vdots
C_{H, 1}C_{H, 2}\ldotsC_{H, W}
X

Вывод

Пусть (x, y) будет ячейкой, в которой находится Такахаши после выполнения серии действий. Выведите x и y, разделенные пробелом.

Ограничения

- 1 \leq H, W \leq 50
- 1 \leq S_i \leq H
- 1 \leq S_j \leq W
- H, W, S_i, S_j — целые числа.
- C_{i, j} — это . или #.
- C_{S_i, S_j} = .
- X — это строка длиной от 1 до 50 включительно, состоящая из L, R, U, D.

Пример ввода 1

2 3
2 1
.#.
...
ULDRU

Пример вывода 1

2 2

Такахаши начинает с ячейки (2, 1). Его последовательность действий такова:

- Первый символ X — U, а ячейка выше (2, 1) существует и является пустой ячейкой, поэтому он перемещается в ячейку выше, которая является (1, 1).
- Второй символ X — L, а ячейка слева от (1, 1) не существует, поэтому он остается в (1, 1).
- Третий символ X — D, а ячейка ниже (1, 1) существует и является пустой ячейкой, поэтому он перемещается в ячейку ниже, которая является (2, 1).
- 4-й символ X - R, а ячейка справа от (2, 1) существует и является пустой ячейкой, поэтому он перемещается в ячейку справа, которая является (2, 2).

- 5-й символ X - U, а ячейка выше (2, 2) существует, но не является пустой ячейкой, поэтому он остается в (2, 2).

Следовательно, после завершения серии действий он находится в ячейке (2, 2).

Пример ввода 2

4 4
4 2
....
.#..
...#
....
DUUUURULRD

Пример вывода 2

2 4

Пример ввода 3

6 6
1 1
.#####
######
######
######
######
######
RURLDLULLRULRDL

Пример вывода 3

1 1

На сетке с H строками и W столбцами. Пусть (i, j) обозначает ячейку на i-й строке сверху и j-м столбце слева.
Ячейка (i, j) пустая, если C_{i, j} — это ., и непустая, если C_{i, j} — это #.
Такаши находится в ячейке (S_i, S_j), и будет действовать согласно следующим правилам для i = 1, 2, \ldots, |X| по порядку.

- Если i-й символ X — это L, и ячейка слева от его текущей существует и пуста, он перемещается в ячейку слева. В противном случае, остаётся в текущей ячейке.
- Если i-й символ X — это R, и ячейка справа от его текущей существует и пуста, он перемещается в ячейку справа. В противном случае, остаётся в текущей ячейке.
- Если i-й символ X — это U, и ячейка выше его текущей существует и пуста, он перемещается в ячейку выше. В противном случае, остаётся в текущей ячейке.
- Если i-й символ X — это D, и ячейка ниже его текущей существует и пуста, он перемещается в ячейку ниже. В противном случае, остаётся в текущей ячейке.

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

Ввод

Ввод поступает из стандартного ввода в следующем формате:
H W
S_i S_j
C_{1, 1}C_{1, 2}\ldotsC_{1, W}
C_{2, 1}C_{2, 2}\ldotsC_{2, W}
\vdots
C_{H, 1}C_{H, 2}\ldotsC_{H, W}
X

Вывод

Пусть (x, y) — это ячейка, в которой Такаши находится после выполнения серии действий. Выведите x и y, разделенные пробелом.

Ограничения

- 1 \leq H, W \leq 50
- 1 \leq S_i \leq H
- 1 \leq S_j \leq W
- H, W, S_i, S_j — целые числа.
- C_{i, j} — это . или #.
- C_{S_i, S_j} = .
- X — это строка длиной от 1 до 50 включительно, состоящая из L, R, U, D.

Пример Ввода 1

2 3
2 1
.#.
...
ULDRU

Пример Вывода 1

2 2

Такаши начинает в ячейке (2, 1). Его последовательность действий следующая:

- 1-й символ X — это U, и ячейка выше (2, 1) существует и пуста, поэтому он перемещается в ячейку выше, которая (1, 1).
- 2-й символ X — это L, и ячейки слева от (1, 1) не существует, поэтому он остаётся в (1, 1).
- 3-й символ X — это D, и ячейка ниже (1, 1) существует и пуста, поэтому он перемещается в ячейку ниже, которая (2, 1).
- 4-й символ X — это R, и ячейка справа от (2, 1) существует и пуста, поэтому он перемещается в ячейку справа, которая (2, 2).
- 5-й символ X — это U, и ячейка выше (2, 2) существует, но не пуста, поэтому он остаётся в (2, 2).

Таким образом, после выполнения серии действий он находится в ячейке (2, 2).

Пример Ввода 2

4 4
4 2
....
.#..
...#
....
DUUUURULRD

Пример Вывода 2

2 4

Пример Ввода 3

6 6
1 1
.#####
######
######
######
######
######
RURLDLULLRULRDL

Пример Вывода 3

1 1

Есть сетка с H строками и W столбцами. Пусть (i, j) обозначает ячейку в i-й строке сверху и j-м столбце слева.
Ячейка (i, j) пуста, если C_{i, j} — это ., и не пуста, если C_{i, j} — это #.
Такахаши в данный момент находится в ячейке (S_i, S_j), и он будет действовать в соответствии со следующими правилами для i = 1, 2, \ldots, |X| по порядку.

- Если i-й символ X — это L, а ячейка слева от его текущей ячейки существует и пуста, он перемещается в ячейку слева. В противном случае он остается в текущей ячейке.
- Если i-й символ X — это R, а ячейка справа от его текущей ячейки существует и пуста, он перемещается в ячейку справа. В противном случае он остается в текущей ячейке.
- Если i-й символ X - U, а ячейка над его текущей ячейкой существует и пуста, он перемещается в ячейку выше. В противном случае он остается в текущей ячейке.
- Если i-й символ X - D, а ячейка под его текущей ячейкой существует и пуста, он перемещается в ячейку ниже. В противном случае он остается в текущей ячейке.

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

Ввод

Вводные данные даются из стандартного ввода в следующем формате:
H W
S_i S_j
C_{1, 1}C_{1, 2}\ldotsC_{1, W}
C_{2, 1}C_{2, 2}\ldotsC_{2, W}
\vdots
C_{H, 1}C_{H, 2}\ldotsC_{H, W}
X

Вывод

Пусть (x, y) будет ячейкой, в которой находится Такахаши после выполнения серии действий. Выведите x и y, разделенные пробелом.

Ограничения

- 1 \leq H, W \leq 50
- 1 \leq S_i \leq H
- 1 \leq S_j \leq W
- H, W, S_i, S_j — целые числа.
- C_{i, j} — это . или #.
- C_{S_i, S_j} = .
- X — это строка длиной от 1 до 50 включительно, состоящая из L, R, U, D.

Пример ввода 1

2 3
2 1
.#.
...
ULDRU

Пример вывода 1

2 2

Такахаши начинает с ячейки (2, 1). Его последовательность действий такова:

- Первый символ X — U, а ячейка выше (2, 1) существует и является пустой ячейкой, поэтому он перемещается в ячейку выше, которая является (1, 1).
- Второй символ X — L, а ячейка слева от (1, 1) не существует, поэтому он остается в (1, 1).
- Третий символ X — D, а ячейка ниже (1, 1) существует и является пустой ячейкой, поэтому он перемещается в ячейку ниже, которая является (2, 1).
- 4-й символ X - R, а ячейка справа от (2, 1) существует и является пустой ячейкой, поэтому он перемещается в ячейку справа, которая является (2, 2).

- 5-й символ X - U, а ячейка выше (2, 2) существует, но не является пустой ячейкой, поэтому он остается в (2, 2).

Следовательно, после завершения серии действий он находится в ячейке (2, 2).

Пример ввода 2

4 4
4 2
....
.#..
...#
....
DUUUURULRD

Пример вывода 2

2 4

Пример ввода 3

6 6
1 1
.######
######
######
######
######
######
RURLDLULLRULRDL

Пример вывода 3

1 1


Такахаши приготовил N блюд для Снука.
Блюда пронумерованы от 1 до N, а блюдо i имеет сладость A_i и соленость B_i.
Такахаши может расположить эти блюда в любом порядке, который ему нравится.
Снук съест блюда в том порядке, в котором они расположены, но если в какой-то момент общая сладость блюд, которые он съел до сих пор, превысит X или общая соленость превысит Y, он не будет есть никаких других блюд.
Такахаши хочет, чтобы Снук съел как можно больше блюд.
Определите максимальное количество блюд, которые съест Снук, если Такахаши расположит блюда оптимально.

Ввод

Ввод дается из стандартного ввода в следующем формате:
N X Y
A_1 B_1
A_2 B_2
\vdots
A_N B_N

Вывод

Выведите ответ в виде целого числа.

Ограничения

- 1 \leq N \leq 80
- 1 \leq A_i, B_i \leq 10000
- 1 \leq X, Y \leq 10000
- Все входные значения являются целыми числами.

Пример ввода 1

4 8 4
1 5
3 2
4 1
5 3

Пример вывода 1

3

Рассмотрим сценарий, в котором Такахаши расставляет блюда в порядке 2, 3, 1, 4.

- Сначала Снук ест блюдо 2. Общая сладость на данный момент составляет 3, а общая соленость — 2.
- Далее Снук ест блюдо 3. Общая сладость на данный момент составляет 7, а общая соленость — 3.
- Далее Снук ест блюдо 1. Общая сладость на данный момент составляет 8, а общая соленость — 8.
- Общая соленость превысила Y=4, поэтому Снук больше не будет есть никаких блюд.

Таким образом, в этой расстановке Снук съест три блюда.
Независимо от того, как Такахаши расставит тарелки, Снук не съест все четыре тарелки, поэтому ответ — 3.

Пример ввода 2

2 1 1
3 2
3 2

Пример вывода 2

1

Пример ввода 3

2 100 100
3 2
3 2

Пример вывода 3

2

Пример ввода 4

6 364 463
230 381
154 200
328 407
339 94
193 10
115 309

Пример вывода 4

3

Такахаси приготовил N блюд для Snuke.
Блюда пронумерованы от 1 до N, а блюдо i имеет сладость A_i и соленость B_i.
Такахаси может расставить эти блюда в любом порядке, который ему нравится.
Снук будет есть блюда в том порядке, в котором они расставлены, но если в какой-то момент общая сладость блюд, которые он ел до сих пор, превысит X или общая соленость превысит Y, он больше не будет есть блюда.
Такахаси хочет, чтобы Снук ел как можно больше блюд.
Найдите максимальное количество блюд, которые съест Снюк, если Такахаси оптимально расставит блюда.

Ввод

Входные данные подаются из Стандартного ввода в следующем формате:
Н Х У
A_1 B_1
A_2 B_2
\vdots
A_N B_N

Выпуск

Выведите ответ в виде целого числа.

Ограничения целостности

- 1 \leq N \leq 80
- 1 \leq A_i, B_i \leq 10000
- 1 \leq X, Y \leq 10000
- Все входные значения являются целыми числами.

Пример входных данных 1

4 8 4
1 5
3 2
4 1
5 3

Пример выходных данных 1

3

Рассмотрим сценарий, в котором Такахаси расставляет блюда в порядке 2, 3, 1, 4.

- Во-первых, Снюк ест блюдо 2. Общая сладость на данный момент составляет 3, а общая соленость - 2.
- Далее Снюк ест блюдо 3. Общая сладость на данный момент составляет 7, а общая соленость - 3.
- Далее Снюк ест блюдо 1. Общая сладость на данный момент составляет 8, а общая соленость - 8.
- Общая соленость превысила Y=4, поэтому Snuke больше не будет есть блюда.

Таким образом, при таком раскладе Снюк съест три блюда.
Независимо от того, как Такахаси расставляет блюда, Снук не съест все четыре блюда, поэтому ответ — 3.

Пример входных данных 2

2 1 1
3 2
3 2

Пример выходных данных 2

1

Пример входных данных 3

2 100 100
3 2
3 2

Пример выходных данных 3

2

Пример входных данных 4

6 364 463
230 381
154 200
328 407
339 94
193 10
115 309

Пример выходных данных 4

3

Такахаши приготовил N блюд для Снуке.
Блюда пронумерованы от 1 до N, и блюдо i имеет сладость A_i и соленость B_i.
Такахаши может расположить эти блюда в любом порядке.
Снуке будет есть блюда в порядке, в котором они расположены, но если в какой-то момент общая сладость съеденных блюд превысит X или общая соленость превысит Y, он не будет есть дальше.
Такахаши хочет, чтобы Снуке съел как можно больше блюд.
Найдите максимальное количество блюд, которые съест Снуке, если Такахаши оптимально расположит блюда.

Ввод

Ввод предоставляется из стандартного ввода в следующем формате:
N X Y
A_1 B_1
A_2 B_2
\vdots
A_N B_N

Вывод

Выведите ответ в виде целого числа.

Ограничения

- 1 \leq N \leq 80
- 1 \leq A_i, B_i \leq 10000
- 1 \leq X, Y \leq 10000
- Все входные значения являются целыми числами.

Пример ввода 1

4 8 4
1 5
3 2
4 1
5 3

Пример вывода 1

3

Рассмотрим сценарий, в котором Такахаши расположил блюда в порядке 2, 3, 1, 4.

- Сначала Снуке ест блюдо 2. Общая сладость на данный момент 3, общая соленость 2.
- Затем Снуке ест блюдо 3. Общая сладость на данный момент 7, общая соленость 3.
- Затем Снуке ест блюдо 3. Общая сладость на данный момент 7, общая соленость 3.
- Общая соленость превысила Y=4, поэтому Снуке не будет есть дальше.

Таким образом, в этой расстановке Снуке съест три блюда.
Как бы Такахаши ни располагал блюда, Снуке не съест все четыре блюда, поэтому ответ 3.

Пример ввода 2

2 1 1
3 2
3 2

Пример вывода 2

1

Пример ввода 3

2 100 100
3 2
3 2

Пример вывода 3

2

Пример ввода 4

6 364 463
230 381
154 200
328 407
339 94
193 10
115 309

Пример вывода 4

3


Дан граф с N + Q вершинами, пронумерованными от 1 до N + Q. Изначально в графе нет рёбер.
Для этого графа выполните следующую операцию для i = 1, 2, \ldots, Q в порядке возрастания:

- Для каждого целого числа j, удовлетворяющего L_i \leq j \leq R_i, добавьте неориентированное ребро с стоимостью C_i между вершинами N + i и j.

Определите, является ли граф связанным после выполнения всех операций. Если он связан, найдите стоимость остовного дерева минимальной стоимости графа.
Остовное дерево минимальной стоимости — это остовное дерево с наименьшей возможной стоимостью, а стоимость остовного дерева — это сумма стоимостей рёбер, использованных в остовном дереве.

Входные данные

Входные данные поступают из стандартного ввода в следующем формате:
N Q
L_1 R_1 C_1
L_2 R_2 C_2
\vdots
L_Q R_Q C_Q

Выходные данные

Если граф связан, выведите стоимость остовного дерева минимальной стоимости. В противном случае выведите -1.

Ограничения

- 1 \leq N, Q \leq 2 \times 10^5
- 1 \leq L_i \leq R_i \leq N
- 1 \leq C_i \leq 10^9
- Все входные значения — целые числа.

Пример входных данных 1

4 3
1 2 2
1 3 4
2 4 5

Пример выходных данных 1

22

Следующие рёбра образуют остовное дерево минимальной стоимости:

- Ребро с стоимостью 2, соединяющее вершины 1 и 5
- Ребро с стоимостью 2, соединяющее вершины 2 и 5
- Ребро с стоимостью 4, соединяющее вершины 1 и 6
- Ребро с стоимостью 4, соединяющее вершины 3 и 6
- Ребро с стоимостью 5, соединяющее вершины 3 и 7
- Ребро с стоимостью 5, соединяющее вершины 4 и 7

Так как 2 + 2 + 4 + 4 + 5 + 5 = 22, выведите 22.

Пример входных данных 2

6 2
1 2 10
4 6 10

Пример выходных данных 2

-1

Граф не связан.

Пример входных данных 3

200000 4
1 200000 1000000000
1 200000 998244353
1 200000 999999999
1 200000 999999999

Пример выходных данных 3

199651870599998


На числовой прямой расположены точки A_1,\dots,A_N,B_1,\dots,B_Q, где точка A_i имеет координату a_i, а точка B_j имеет координату b_j.
Для каждого j=1,2,\dots,Q ответьте на следующий вопрос:

- Пусть X — это точка среди A_1,A_2,\dots,A_N, которая является k_j-й ближайшей к точке B_j. Найдите расстояние между точками X и B_j.
Более формально, пусть d_i — это расстояние между точками A_i и B_j. Отсортируйте (d_1,d_2,\dots,d_N) по возрастанию, чтобы получить последовательность (d_1',d_2',\dots,d_N'). Найдите d_{k_j}'.

Входные данные

Входные данные подаются через стандартный ввод в следующем формате:
N Q
a_1 a_2 \dots a_N
b_1 k_1
b_2 k_2
\vdots
b_Q k_Q

Выходные данные

Выведите Q строк.
l-я строка (1 \leq l \leq Q) должна содержать ответ на вопрос для j=l в виде целого числа.

Ограничения

- 1 \leq N, Q \leq 10^5
- -10^8 \leq a_i, b_j \leq 10^8
- 1 \leq k_j \leq N
- Все входные значения - целые числа.

Пример входных данных 1

4 3
-3 -1 5 6
-2 3
2 1
10 4

Пример выходных данных 1

7
3
13

Объясним первый запрос.
Расстояния от точек A_1, A_2, A_3, A_4 до точки B_1 равны 1, 1, 7, 8 соответственно, так что 3-я ближайшая к точке B_1 — это точка A_3.
Таким образом, напечатайте расстояние между точкой A_3 и точкой B_1, которое равно 7.

Пример входных данных 2

2 2
0 0
0 1
0 2

Пример выходных данных 2

0
0

Может быть несколько точек с одинаковыми координатами.

Пример входных данных 3

10 5
-84 -60 -41 -100 8 -8 -52 -62 -61 -76
-52 5
14 4
-2 6
46 2
26 7

Пример выходных данных 3

11
66
59
54
88

На числовой прямой имеется N+Q точек A_1,\dots,A_N,B_1,\dots,B_Q, где точка A_i имеет координату a_i, а точка B_j имеет координату b_j.
Для каждого j=1,2,\dots,Q, ответьте на следующий вопрос:

- Пусть X будет точкой среди A_1,A_2,\dots,A_N, которая является k_j-й ближайшей к точке B_j. Найдите расстояние между точками X и B_j.
Более формально, пусть d_i будет расстоянием между точками A_i и B_j. Отсортируйте (d_1,d_2,\dots,d_N) в порядке возрастания, чтобы получить последовательность (d_1',d_2',\dots,d_N'). Найдите d_{k_j}'.

Ввод

Вводные данные передаются из стандартного ввода в следующем формате:
N Q
a_1 a_2 \dots a_N
b_1 k_1
b_2 k_2
\vdots
b_Q k_Q

Вывод

Выведите Q-линии.
В l-й строке (1 \leq l \leq Q) должен быть указан ответ на вопрос для j=l в виде целого числа.

Ограничения

- 1 \leq N, Q \leq 10^5
- -10^8 \leq a_i, b_j \leq 10^8
- 1 \leq k_j \leq N
- Все входные значения являются целыми числами.

Пример ввода 1

4 3
-3 -1 5 6
-2 3
2 1
10 4

Пример вывода 1

7
3
13

Поясним первый запрос.
Расстояния от точек A_1, A_2, A_3, A_4 до точки B_1 равны 1, 1, 7, 8, соответственно, поэтому 3-й ближайшей к точке B_1 является точка A_3.
Поэтому выведите расстояние между точкой A_3 и точкой B_1, равное 7.

Пример ввода 2

2 2
0 0
0 1
0 2

Пример вывода 2

0
0

Может быть несколько точек с одинаковыми координатами.

Пример ввода 3

10 5
-84 -60 -41 -100 8 -8 -52 -62 -61 -76
-52 5
14 4
-2 6
46 2
26 7

Пример вывода 3

11
66
59
54
88


Дано N блюд, и i-е блюдо имеет сладость A_i и солёность B_i.
Такаши планирует расположить эти N блюд в любом порядке и съесть их в этом порядке.
Он будет есть блюда в заданном порядке, но остановится, как только общая сладость съеденных блюд превысит X или общая солёность превысит Y.
Найдите минимально возможное количество блюд, которое он в итоге съест.

Ввод

Ввод предоставляется из стандартного ввода в следующем формате:
N X Y
A_1 A_2 \ldots A_N
B_1 B_2 \ldots B_N

Вывод

Выведите ответ.

Ограничения

- 1 \leq N \leq 2 \times 10^5
- 1 \leq X, Y \leq 2 \times 10^{14}
- 1 \leq A_i, B_i \leq 10^9
- Все входные значения — целые числа.

Пример ввода 1

4 7 18
2 3 5 1
8 8 1 4

Пример вывода 1

2

i-е блюдо обозначено как блюдо i.
Если он расположит четыре блюда в порядке 2, 3, 1, 4, то, как только он съест блюда 2 и 3, их общая сладость составит 8, что больше 7. Таким образом, в этом случае он съест два блюда.
Количество съеденных блюд не может быть меньше 1, поэтому выведите 2.

Пример ввода 2

5 200000000000000 200000000000000
1 1 1 1 1
2 2 2 2 2

Пример вывода 2

5

Пример ввода 3

8 30 30
1 2 3 4 5 6 7 8
8 7 6 5 4 3 2 1

Пример вывода 3

6

Есть N блюд, и i-е блюдо имеет сладость A_i и соленость B_i.
Такахаши планирует расположить эти N блюд в любом порядке и съесть их в этом порядке.
Он съест блюда в указанном порядке, но прекратит есть, как только общая сладость съеденных им блюд превысит X или общая соленость превысит Y.
Найдите минимально возможное количество блюд, которые он в итоге съест.

Ввод

Ввод дается из стандартного ввода в следующем формате:
N X Y
A_1 A_2 \ldots A_N
B_1 B_2 \ldots B_N

Вывод

Выведите ответ.

Ограничения

- 1 \leq N \leq 2 \times 10^5
- 1 \leq X, Y \leq 2 \times 10^{14}
- 1 \leq A_i, B_i \leq 10^9
- Все входные значения являются целыми числами.

Пример ввода 1

4 7 18
2 3 5 1
8 8 1 4

Пример вывода 1

2

i-е блюдо будет обозначено как блюдо i.
Если он расположит четыре блюда в порядке 2, 3, 1, 4, как только он съест блюда 2 и 3, их общая сладость составит 8, что больше 7. Следовательно, в этом случае он в конечном итоге съест два блюда.
Количество блюд, которые он съест, не может быть 1 или меньше, поэтому выведите 2.

Пример ввода 2

5 200000000000000 20000000000000000
1 1 1 1 1
2 2 2 2 2

Пример вывода 2

5

Пример ввода 3

8 30 30
1 2 3 4 5 6 7 8
8 7 6 5 4 3 2 1

Пример вывода 3

6

Имеется N блюд, i-е блюдо имеет сладость A_i и соленость B_i.
Такахаши планирует разложить эти N блюд в любом порядке и съесть их в таком порядке.
Он будет есть блюда в установленном порядке, но прекратит есть, как только общая сладость съеденных им блюд превысит X или общая соленость превысит Y.
Найдите минимально возможное количество блюд, которые он в итоге съест.

Ввод

Вводные данные передаются из стандартного ввода в следующем формате:
N X Y
A_1 A_2 \ldots A_N
B_1 B_2 \ldots B_N

Вывод

Распечатайте ответ.

Ограничения

- 1 \leq N \leq 2 \times 10%5
- 1 \leq X, Y \leq 2 \times 10%{14}
- 1 \leq A_i, B_i \leq 10%9
- Все входные значения являются целыми числами.

Пример ввода 1

4 7 18
2 3 5 1
8 8 1 4

Пример вывода 1

2

i-е блюдо обозначим как блюдо i.
Если он расположит четыре блюда в порядке 2, 3, 1, 4, то как только он съест блюда 2 и 3, их общая сладость составит 8, что больше 7. Следовательно, в этом случае он в конечном итоге съест два блюда.
Количество блюд, которые он съест, не может быть меньше 1, поэтому выведите 2.

Пример ввода 2

5 200000000000000 200000000000000
1 1 1 1 1
2 2 2 2 2

Пример вывода 2

5

Пример ввода 3

8 30 30
1 2 3 4 5 6 7 8
8 7 6 5 4 3 2 1

Пример вывода 3

6


Такахаши планирует съесть N блюд.
i-е блюдо, которое он планирует съесть — сладкое, если S_i = sweet, и солёное, если S_i = salty.
Если он съест два сладких блюда подряд, он почувствует себя плохо и не сможет съесть больше блюд.
Определите, сможет ли он съесть все блюда.

Ввод

Ввод поступает из стандартного ввода в следующем формате:
N
S_1
S_2
\vdots
S_N

Вывод

Выведите Yes, если Такахаши сможет съесть все блюда, и No в противном случае.

Ограничения

- N — это целое число от 1 до 100 включительно.
- Каждое S_i — sweet или salty.

Пример ввода 1

5
salty
sweet
salty
salty
sweet

Пример вывода 1

Yes

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

Пример ввода 2

4
sweet
salty
sweet
sweet

Пример вывода 2
Yes

Он почувствует себя плохо, но всё же сможет съесть все блюда.

Пример ввода 3

6
salty
sweet
sweet
salty
sweet
sweet

Пример вывода 3

No

Он почувствует себя плохо при поедании третьего блюда и не сможет съесть четвёртое и последующие блюда.

Такахаши планирует съесть N блюд.
i-е блюдо, которое он планирует съесть, сладкое, если S_i = sweet, и соленое, если S_i = salty.
Если он съест два сладкого блюда подряд, он почувствует себя плохо и не сможет съесть больше блюд.

Определите, сможет ли он съесть все блюда.

Ввод

Вводные данные задаются из стандартного ввода в следующем формате:
N
S_1
S_2
\vdots
S_N

Вывод

Выведите Yes, если Такахаши может съесть все блюда, и No в противном случае.

Ограничения

- N — целое число от 1 до 100 включительно.
- Каждое S_i sweet или соленое.

Пример ввода 1

5
salty
sweet
salty
salty
sweet

Пример вывода 1

Yes

Он не будет есть два сладкого блюда подряд, поэтому он может съесть все блюда, не чувствуя себя плохо.

Пример ввода 2

4
sweet
salty
sweet
sweet

Пример вывода 2

Yes

Ему будет плохо, но он все равно сможет съесть все блюда.

Пример ввода 3

6
salty
sweet
sweet
salty
sweet
sweet

Пример вывода 3

No

Ему станет плохо, когда он съест третье блюдо, и он не сможет съесть четвертое и последующие блюда.

Такахаши планирует съесть N блюд.
i-е блюдо, которое он планирует съесть, сладкое, если S_i = sweet, и соленое, если S_i = salty.
Если он съест два сладкого блюда подряд, он почувствует себя плохо и не сможет съесть больше блюд.

Определите, сможет ли он съесть все блюда.

Ввод

Вводные данные задаются из стандартного ввода в следующем формате:
N
S_1
S_2
\vdots
S_N

Вывод

Выведите Yes, если Такахаши может съесть все блюда, и No в противном случае.

Ограничения

- N это целое число от 1 до 100 включительно.
- Каждое S_i sweet или salty.

Пример ввода 1

5
salty
sweet
salty
salty
sweet

Пример вывода 1

Yes

Он не будет есть два сладких блюда подряд, поэтому он может съесть все блюда, не чувствуя себя плохо.

Пример ввода 2

4
sweet
salty
sweet
sweet

Пример вывода 2

Yes

Ему будет плохо, но он всё равно сможет съесть все блюда.

Пример ввода 3

6
salty
sweet
sweet
salty
sweet
sweet

Пример вывода 3

No

Ему станет плохо, когда он съест третье блюдо, и он не сможет съесть 4-е и последующие блюда.


Вам дана последовательность целых чисел A=(A_1,\ldots,A_N) длины N. Здесь A_1, A_2, \ldots, A_N — все различные.
Какой элемент в A является вторым по величине?

Ввод

Ввод предоставляется из стандартного ввода в следующем формате:
N
A_1 A_2 \ldots A_{N}

Вывод

Выведите целое число X, такое что X-й элемент в A является вторым по величине.

Ограничения

- 2 \leq N \leq 100
- 1 \leq A_i \leq 10^9
- A_1, A_2, \ldots, A_N — все различные.
- Все входные значения — целые числа.

Пример ввода 1

4
8 2 5 1

Пример вывода 1

3

Второй по величине элемент в A — A_3, поэтому выведите 3.

Пример ввода 2

8
1 2 3 4 5 10 9 11

Пример вывода 2

6

Вам дана последовательность целых чисел A=(A_1,\ldots,A_N) длины N. Здесь A_1, A_2, \ldots, A_N — все различные.
Какой элемент в A является вторым по величине?

Ввод

Ввод предоставляется из стандартного ввода в следующем формате:
N
A_1 A_2 \ldots A_{N}

Вывод

Выведите целое число X, такое что X-й элемент в A является вторым по величине.

Ограничения

- 2 \leq N \leq 100
- 1 \leq A_i \leq 10^9
- A_1, A_2, \ldots, A_N are all distinct.
- Все входные значения — целые числа.

Пример ввода 1

4
8 2 5 1

Пример вывода 1

3

Второй по величине элемент в A - A_3, поэтому выведите 3.

Пример ввода 2

8
1 2 3 4 5 10 9 11

Пример вывода 2

6

Вам дают целочисленную последовательность A=(A_1,\ldots,A_N) длины N. Здесь, A_1, A_2, \ ldots, A_N все различны.
Какой элемент в A является вторым по величине?

Вход

Ввод приведен из стандартного ввода в следующем формате:
N
A_1 A_2 \ ldots  A_{N}

Выход

Распечатайте целое число X так, что элемент X-й в A является вторым по величине.

Ограничения

- 2 \ leq N \ leq 100
- 1 \ leq A_i \ leq 10^9
- A_1, A_2, \ ldots, A_N все различны.
- Все входные значения являются целыми числами.

Пример входа 1

4
8 2 5 1

Пример вывода 1

3

Второй по величине элемент — A_3, так что выводим 3.

Пример входа 2

8
1 2 3 4 5 10 9 11

Пример вывода 2

6


Вам дано целое число Y в диапазоне от 1583 до 2023.
Найдите количество дней в году Y по григорианскому календарю.
В заданном диапазоне год Y имеет следующее количество дней:

-
если Y не является кратным 4, то 365 дней;

-
если Y кратно 4, но не кратно 100, то 366 дней;

-
если Y кратно 100, но не кратно 400, то 365 дней;

-
если Y кратно 400, то 366 дней.

Ввод

Ввод задается стандартным вводом в следующем формате:
Y

Вывод

Выведите количество дней в году Y в виде целого числа.

Ограничения

- Y - целое число от 1583 до 2023 включительно.

Пример ввода 1

2023

Пример вывода 1

365

2023 не является кратным 4, поэтому в нем 365 дней.

Пример ввода 2

1992

Пример вывода 2

366

1992 кратно 4, но не кратно 100, поэтому в нем 366 дней.

Пример ввода 3

1800

Пример вывода 3

365

1800 кратно 100, но не кратно 400, поэтому в нем 365 дней.

Пример ввода 4

1600

Пример вывода 4

366

1600 кратно 400, поэтому в нем 366 дней.

Вам дано целое число Y от 1583 до 2023.
Найдите количество дней в году Y по григорианскому календарю.
В данном диапазоне год Y имеет следующее количество дней:

-
если Y не кратно 4, то 365 дней;

-
если Y кратно 4, но не кратно 100, то 366 дней;

-
если Y кратно 100, но не кратно 400, то 365 дней;

-
если Y кратно 400, то 366 дней.

Ввод

Вводные данные передаются из стандартного ввода в следующем формате:
Y

Вывод

Выведите количество дней в году Y как целое число.

Ограничения

- Y это целое число от 1583 до 2023, включительно.

Пример ввода 1

2023

Пример вывода 1

365

2023 не кратно 4, поэтому в нем 365 дней.

Пример ввода 2

1992

Пример вывода 2

366

Число 1992 кратно 4, но не кратно 100, поэтому в нём 366 дней.

Пример ввода 3

1800

Пример вывода 3

365

1800 кратно 100, но не кратно 400, поэтому в нем 365 дней.

Пример ввода 4

1600

Пример вывода 4

366

1600 кратно 400, поэтому в нём 366 дней.


Дан целочисленный последовательность A=(A_1,\ldots,A_N) длины N. Найдите значение следующего выражения:
\displaystyle \sum_{i=1}^{N-1}\sum_{j=i+1}^N (A_i \oplus A_{i+1}\oplus \ldots \oplus A_j).

Замечания о побитовом XOR

Побитовый XOR неотрицательных целых чисел A и B, обозначаемый как A \oplus B, определяется следующим образом:
- В двоичном представлении A \oplus B цифра на позиции 2^k (k \geq 0) равна 1, если и только если ровно одна из цифр на позиции 2^k в двоичных представлениях A и B равна 1; в противном случае это 0.
Например, 3 \oplus 5 = 6 (в двоичном виде: 011 \oplus 101 = 110).
В общем случае, побитовый XOR k целых чисел p_1, \dots, p_k определяется как (\cdots ((p_1 \oplus p_2) \oplus p_3) \oplus \cdots \oplus p_k). Можно доказать, что это не зависит от порядка p_1, \dots, p_k.

Ввод

Ввод дается из стандартного ввода в следующем формате:
N
A_1 A_2 \ldots A_{N}

Вывод

Выведите ответ.

Ограничения

- 2 \leq N \leq 2 \times 10^5
- 1 \leq A_i \leq 10^8
- Все входные значения являются целыми числами.

Пример ввода 1

3
1 3 2

Пример вывода 1

3

A_1 \oplus A_2 = 2, A_1 \oplus A_2 \oplus A_3 = 0, и A_2 \oplus A_3 = 1, так что ответ равен 2 + 0 + 1 = 3.

Пример ввода 2

7
2 5 6 5 2 1 7

Пример вывода 2

83

Вам дана целочисленная последовательность A=(A_1,\ldots,A_N) длины N. Найдите значение следующего выражения:
\displaystyle \sum_{i=1}^{N-1}\sum_{j=i+1}^N (A_i \oplus A_{i+1}\oplus \ldots \oplus A_j).

Примечания по побитовому исключающему XOR
Побитовое исключающее XOR неотрицательных целых чисел A и B, обозначаемое как A \oplus B, определяется следующим образом:
- В двоичном представлении A \oplus B, цифра в позиции 2^k (k \geq 0) равна 1 тогда и только тогда, когда ровно одна из цифр в позиции 2^k в двоичных представлениях A и B равен 1; в противном случае это 0.
Например, 3 \oplus 5 = 6 (in binary: 011 \oplus 101 = 110).
В общем, побитовое исключающее XOR k целых чисел p_1, \dots, p_k определяется как (\cdots ((p_1 \oplus p_2) \oplus p_3) \oplus \cdots \oplus p_k).  Можно доказать, что это не зависит от порядка p_1, \dots, p_k.

Ввод

Вводные данные передаются из стандартного ввода в следующем формате:
N
A_1 A_2 \ldots A_{N}

Вывод

Распечатайте ответ.

Ограничения

- 2 \leq N \leq 2 \times 10^5
- 1 \leq A_i \leq 10^8
- Все входные значения являются целыми числами.

Пример ввода 1

3
1 3 2

Пример вывода 1

3

A_1 \oplus A_2 = 2, A_1 \oplus A_2 \oplus A_3 = 0, and A_2 \oplus A_3 = 1, so the answer is 2 + 0 + 1 = 3.

Пример ввода 2

7
2 5 6 5 2 1 7

Пример вывода 2

83

Вам дана целочисленная последовательность A=(A_1,\ldots,A_N) длины N. Найдите значение следующего выражения:
\displaystyle \sum_{i=1}^{N-1}\sum_{j=i+1}^N (A_i \oplus A_{i+1}\oplus \ldots \oplus A_j).

Заметки о побитовом XOR
Побитовое XOR неотрицательных целых чисел A и B, обозначаемое как A \oplus B, определяется следующим образом:
- В двоичном представлении A \oplus B цифра в позиции 2^k (k \geq 0) равна 1 тогда и только тогда, когда ровно одна из цифр в позиции 2^k в двоичных представлениях A и B равна 1; в противном случае это 0.
Например, 3 \oplus 5 = 6 (в двоичном виде: 011 \oplus 101 = 110).
В общем случае побитовое XOR k целых чисел p_1, \dots, p_k определяется как (\cdots ((p_1 \oplus p_2) \oplus p_3) \oplus \cdots \oplus p_k). Можно доказать, что это не зависит от порядка p_1, \dots, p_k.

Ввод

Ввод дается из стандартного ввода в следующем формате:
N
A_1 A_2 \ldots A_{N}

Вывод

Выведите ответ.

Ограничения

- 2 \leq N \leq 2 \times 10^5
- 1 \leq A_i \leq 10^8
- Все входные значения являются целыми числами.

Пример ввода 1

3
1 3 2

Пример вывода 1

3

A_1 \oplus A_2 = 2, A_1 \oplus A_2 \oplus A_3 = 0 и A_2 \oplus A_3 = 1, поэтому ответ 2 + 0 + 1 = 3.

Пример ввода 2

7
2 5 6 5 2 1 7

Пример вывода 2

83


Такахаси и Аоки сыграли в камень-ножницы-бумага N раз. [Примечание: в этой игре Камень бьет Ножницы, Ножницы бьют Бумагу, а Бумага бьет Камень.]
Ходы Аоки представлены строкой S длины N, состоящей из символов R, P и S.
i-й символ S обозначает ход Аоки в i-й игре: R для Камня, P для Бумаги и S для Ножниц.

Ходы Такахаси соответствуют следующим условиям:

- Такахаси никогда не проигрывал Аоки.
- Для i=1,2,\ldots,N-1 ход Такахаси в i-й игре отличается от его хода в (i+1)-й игре.

Определите максимальное количество игр, которые Такахаси мог бы выиграть.
Гарантируется, что существует последовательность ходов для Такахаси, которая удовлетворяет этим условиям.

Ввод

Ввод предоставляется через стандартный ввод в следующем формате:
N
S

Вывод

Выведите максимальное количество игр, которые Такахаси мог бы выиграть.

Ограничения

- 1\leq N\leq2\times10 ^ 5
- S — строка длины N, состоящая из R, P и S.
- N является целым числом.

Пример ввода 1

6
PRSSRS

Пример вывода 1

5

В шести играх камень-ножницы-бумага Аоки сыграл Бумага, Камень, Ножницы, Ножницы, Камень и Ножницы.
Такахаcи может сыграть Ножницы, Бумага, Камень, Ножницы, Бумага и Камень, чтобы выиграть 1-ю, 2-ю, 3-ю, 5-ю и 6-ю игры.
Нет последовательности ходов для Такахаси, которая удовлетворяет условиям и выигрывает все шесть игр, поэтому выводим 5.

Пример ввода 2

10
SSSSSSSSSS

Пример вывода 2

5

Пример ввода 3

24
SPRPSRRRRRPPRPRPSSRSPRSS

Пример вывода 3

18

Такахаши и Аоки N раз играли в камень-ножницы-бумагу. [Примечание: в этой игре Камень побеждает Ножницы, Ножницы побеждают Бумагу, а Бумага побеждает Камень.]
Ходы Аоки представлены строкой S длины N, состоящей из символов R, P, и S.
i-й символ S указывает ход Аоки в i-й игре: R для Камня, P для Бумаги и S для Ножниц.
Ходы Такахаши удовлетворяют следующие условия:

- Такахаши ни разу не проиграл Аоки.
- Для i=1,2,\ldots,N-1, ход Такахаши в i-й игре отличается от его хода в (i+1)-й игре.

Определите максимальное количество игр, которые мог выиграть Такахаши.
Гарантируется, что существует последовательность ходов Такахаши, удовлетворяющая этим условиям.

Ввод

Вводные данные передаются из стандартного ввода в следующем формате:
N
S

Вывод

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

Ограничения

- 1\leq N\leq2\times10 % 5
- S это строка длины N, состоящая из R, P, и S.
- N это целое число.

Пример ввода 1

6
PRSSRS

Пример вывода 1

5

В шести играх камень-ножницы-бумага Аоки играл в Бумага, Камень, Ножницы, Ножницы, Камень, и Ножницы.
Такахаши может играть в Ножницы, Бумага, Камень, Ножницы, Бумага, и Камень, чтобы выиграть 1-ю, 2-ю, 3-ю, 5-ю, и 6-ю игры.
Не существует такой последовательности ходов Такахаши, которая удовлетворяла бы условиям и выигрывала бы все шесть партий, поэтому выведите 5.

Пример ввода 2

10
SSSSSSSSSS

Пример вывода 2

5

Пример ввода 3

24
SPRPSRRRRRPPRPRPSSRSPRSS

Пример вывода 3

18

Такахаси и Аоки сыграли в камень-ножницы-бумага N раз. [Примечание: в этой игре Камень бьет Ножницы, Ножницы бьют Бумагу, а Бумага бьет Камень.]
Ходы Аоки представлены строкой S длины N, состоящей из символов R, P, и S.
i-й символ S обозначает ход Аоки в i-й игре: R для Камня, P для Бумаги и S для Ножниц.
Ходы Такахаси соответствуют следующим условиям:

- Такахаси никогда не проигрывал Аоки.
- Для i=1,2,\ldots,N-1, Tход Такахаси в i-й игре отличается от его хода в (i+1)-й игре..

Определите максимальное количество игр, которые Такахаси мог бы выиграть.
Гарантируется, что существует последовательность ходов для Такахаси, которая удовлетворяет этим условиям.

Ввод

Ввод предоставляется через стандартный ввод в следующем формате:
N
S

Вывод

Выведите максимальное количество игр, которые Такахаси мог бы выиграть.

Ограничения

- 1\leq N\leq2\times10 ^ 5
- S строка длины N, состоящая из R, P и S.
- N является целым числом.

Пример ввода 1

6
PRSSRS

Пример вывода 1

5

В шести играх камень-ножницы-бумага Аоки сыграл Бумага, Камень, Ножницы, Ножницы, Камень и Ножницы.
Такахаcи может сыграть Ножницы, Бумага, Камень, Ножницы, Бумага и Камень, чтобы выиграть 1-ю, 2-ю, 3-ю, 5-ю и 6-ю игры.
Нет последовательности ходов для Такахаси, которая удовлетворяет условиям и выигрывает все шесть игр, поэтому выводим 5.

Пример ввода 2

10
SSSSSSSSSS

Пример вывода 2

5

Пример ввода 3

24
SPRPSRRRRRPPRPRPSSRSPRSS

Пример вывода 3

18


В мероприятии участвуют N человек, а транспортные расходы для i-го человека составляют A_i иен.
Такахаши, организатор мероприятия, решил установить максимальный предел x для транспортной субсидии. Субсидия для человека i составит \min(x, A_i) иен. Здесь x должен быть неотрицательным целым числом.
Учитывая, что бюджет Такахаши составляет M иен, и он хочет, чтобы общая транспортная субсидия для всех N человек не превышала M иен, каково максимально возможное значение предела субсидии x?
Если предел субсидии можно сделать бесконечно большим, сообщите это вместо этого.

Ввод

Ввод дается из стандартного ввода в следующем формате:
N M
A_1 A_2 \ldots A_{N}

Вывод

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

Ограничения

- 1 \leq N \leq 2 \times 10^5
- 1 \leq M \leq 2 \times 10^{14}
- 1 \leq A_i \leq 10^9
- Все входные значения являются целыми числами.

Пример ввода 1

4 8
1 3 2 4

Пример вывода 1

2

Если лимит субсидии установлен в 2 иены, общая транспортная субсидия для всех N человек составляет \min(2,1) + \min(2,3) + \min(2,2) + \min(2,4) = 7 иен, что находится в пределах бюджета в 8 иен.
Если лимит субсидии установлен в 3 иены, общая транспортная субсидия для всех N человек составляет \min(3,1) + \min(3,3) + \min(3,2) + \min(3,4) = 9 иен, что превышает бюджет в 8 иен.
Таким образом, максимально возможное значение лимита субсидии составляет 2 иены.

Пример ввода 2

3 20
5 3 2

Пример вывода 2

бесконечность

Лимит субсидии можно сделать бесконечно большим.

Пример ввода 3

10 23
2 5 6 5 2 1 7 9 7 2

Пример вывода 3

2

В мероприятии участвуют N человек, и стоимость транспортировки для i-го человека составляет A_i йен.
Такахаси, организатор мероприятия, решил установить максимальный лимит x для дотации на транспортировку. Дотация для человека i будет \min(x, A_i) йен. Здесь x должен быть неотрицательным целым числом.
Учитывая, что бюджет Такахаси составляет M йен, и он хочет, чтобы общая дотация на транспортировку для всех N человек не превышала M йен, какова максимальная возможная величина лимита субсидии x?
Если лимит субсидии может быть бесконечно большим, сообщите это.

Ввод

Вводится из стандартного ввода в следующем формате:
N M
A_1 A_2 \ldots A_{N}

Вывод

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

Ограничения

- 1 \leq N \leq 2 \times 10^5
- 1 \leq M \leq 2 \times 10^{14}
- 1 \leq A_i \leq 10^9
- Все входные значения являются целыми числами.

Пример ввода 1

4 8
1 3 2 4

Пример вывода 1

2

Если лимит субсидии установлен на уровне 2 йен, общая дотация на транспортировку для всех N человек \min(2,1) + \min(2,3) + \min(2,2) + \min(2,4) = 7 йен, что укладывается в бюджет 8 йен.
Если лимит субсидии установлен на уровне 3 йен, общая дотация на транспортировку для всех N человек \min(3,1) + \min(3,3) + \min(3,2) + \min(3,4) = 9 йен, что превышает бюджет 8 йен.
Таким образом, максимальная возможная величина лимита субсидии составляет 2 йены.

Пример ввода 2

3 20
5 3 2

Пример вывода 2

infinite

Лимит субсидии может быть бесконечно большим.

Пример ввода 3

10 23
2 5 6 5 2 1 7 9 7 2

Пример вывода 3

2


Дана строка s. Смоделируйте события в каждую секунду i:

Если s[i] == 'E', человек входит в зал ожидания и занимает один из стульев.
Если s[i] == 'L', человек покидает зал ожидания, освобождая стул.

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

Пример 1:

Ввод: s = "EEEEEEE"
Вывод: 7
Объяснение:
После каждой секунды человек входит в зал ожидания, и никто его не покидает. Поэтому необходимо не менее 7 стульев.

Пример 2:

Ввод: s = "ELELEEL"
Вывод: 2
Объяснение:
Рассмотрим, что в зале ожидания 2 стула. Таблица ниже показывает состояние зала ожидания в каждую секунду.

| Секунда | Событие | Люди в зале ожидания | Свободные стулья |
|---------|---------|----------------------|------------------|
| 0       | Вход    | 1                    | 1                |
| 1       | Выход   | 0                    | 2                |
| 2       | Вход    | 1                    | 1                |
| 3       | Выход   | 0                    | 2                |
| 4       | Вход    | 1                    | 1                |
| 5       | Вход    | 2                    | 0                |
| 6       | Выход   | 1                    | 1                |

Пример 3:

Ввод: s = "ELEELEELLL"
Вывод: 3
Объяснение:
Рассмотрим, что в зале ожидания 3 стула. Таблица ниже показывает состояние зала ожидания в каждую секунду.

| Секунда | Событие | Люди в зале ожидания | Свободные стулья |
|---------|---------|----------------------|------------------|
| 0       | Вход    | 1                    | 2                |
| 1       | Выход   | 0                    | 3                |
| 2       | Вход    | 1                    | 2                |
| 3       | Вход    | 2                    | 1                |
| 4       | Выход   | 1                    | 2                |
| 5       | Вход    | 2                    | 1                |
| 6       | Вход    | 3                    | 0                |
| 7       | Выход   | 2                    | 1                |
| 8       | Выход   | 1                    | 2                |
| 9       | Выход   | 0                    | 3                |

Ограничения:

1 <= s.length <= 50
s состоит только из букв 'E' и 'L'.
s представляет собой допустимую последовательность входов и выходов.

Вам дана строка s. Смоделируйте события в каждую секунду i:

Если s[i] == 'E', человек входит в зал ожидания и занимает один из стульев в нём.

Если s[i] == 'L', человек выходит из зала ожидания, освобождая стул.

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

Пример 1:

Вход: s = "EEEEEE"
Выход: 7
Пояснение:
После каждой секунды в зал ожидания входит человек, и никто его не покидает. Следовательно, требуется минимум 7 стульев.

Пример 2:

Вход: s = "ELELEEL"
Выход: 2
Пояснение:
Предположим, что в зале ожидания 2 стула. В таблице ниже показано состояние зала ожидания в каждую секунду.

Второе
Событие
Люди в зале ожидания
Доступные стулья

0
Войти
1
1

1
Выйти
0
2

2
Войти
1
1

3
Выйти
0
2

4
Войти
1
1

5
Войти
2
0

6
Выйти
1
1

Пример 3:

Вход: s = "ELEELEELLL"
Выход: 3
Объяснение:
Предположим, что в зале ожидания 3 стула. В таблице ниже показано состояние зала ожидания в каждую секунду.

Второе
Событие
Люди в зале ожидания
Доступные стулья

0
Войти
1
2

1
Выйти
0
3

2
Войти
1
2

3
Войти
2
1

4
Выйти
1
2

5
Войти
2
1

6
Войти
3
0

7
Выйти
2
1

8
Выйти
1
2

9
Выйти
0
3

Ограничения:

1 <= s.length <= 50
s состоит только из букв "E"  и "L".
s представляет собой допустимую последовательность входов и выходов.


Дано положительное целое число days, представляющее общее количество дней, в течение которых сотрудник доступен для работы (начиная с первого дня). Также дан двумерный массив meetings размера n, где meetings[i] = [start_i, end_i] представляет начало и конец дня встречи i (включительно).
Верните количество дней, когда сотрудник доступен для работы, но встречи не запланированы.
Примечание: встречи могут пересекаться.

Пример 1:

Ввод: days = 10, meetings = [[5,7],[1,3],[9,10]]
Вывод: 2
Объяснение:
Встречи не запланированы на 4-й и 8-й дни.

Пример 2:

Ввод: days = 5, meetings = [[2,4],[1,3]]
Вывод: 1
Объяснение:
Встреча не запланирована на 5-й день.

Пример 3:

Ввод: days = 6, meetings = [[1,6]]
Вывод: 0
Объяснение:
Встречи запланированы на все рабочие дни.

Ограничения:

1 <= days <= 10^9
1 <= meetings.length <= 10^5
meetings[i].length == 2
1 <= meetings[i][0] <= meetings[i][1] <= days

Вам дано положительное целое число дней, представляющее общее количество дней, в течение которых сотрудник доступен для работы (начиная с дня 1). Вам также дан двумерный массив meeting размером n, где meeting[i] = [start_i, end_i] представляет начальный и конечный дни встречи i (включительно).
Вернуть количество дней, когда сотрудник доступен для работы, но не запланировано ни одной встречи.
Примечание: встречи могут перекрываться.

Пример 1:

Входные данные: days = 10, meeting = [[5,7],[1,3],[9,10]]
Выходные данные: 2
Пояснение:
На 4^й и 8^й дни встречи не запланированы.

Пример 2:

Входные данные: days = 5, meeting = [[2,4],[1,3]]
Выходные данные: 1
Пояснение:
На 5^й день встречи не запланированы.

Пример 3:

Вход: дни = 6, встречи = [[1,6]]
Выход: 0
Пояснение:
Встречи запланированы на все рабочие дни.

Ограничения:

1 <= дней <= 10^9
1 <= встречи.длина <= 10^5
встречи[i].длина == 2
1 <= встречи[i][0] <= встречи[i][1] <= дней

Вам дано целое положительное число дней, представляющее общее количество дней, в течение которых сотрудник доступен для работы (начиная с 1 дня). Вам также предоставляется 2D массив встреч размером n, где meetings[i] = [start_i, end_i] представляют дни начала и окончания встречи i (включительно).
Возвращает количество дней, когда сотрудник доступен для работы, но встречи не запланированы.
Примечание: встречи могут пересекаться.

Пример 1:

Ввод: days = 10, meetings = [[5,7],[1,3],[9,10]]
Вывод: 2
Объяснение:
На 4^й и 8^й дни встречи не запланированы.

Пример 2:

Ввод: days = 5, meetings = [[2,4],[1,3]]
Вывод: 1
Объяснение:
На 5^й день встреч не запланировано.

Пример 3:

Ввод: days = 6, meetings = [[1,6]]
Вывод: 0
Объяснение:
Встречи запланированы на все рабочие дни.

Ограничения:

1 <= days <= 10^9
1 <= meetings.length <= 10^5
meetings[i].length == 2
1 <= meetings[i][0] <= meetings[i][1] <= days


Вам дан массив nums и целое число k. Нужно найти подмассив nums, такой что абсолютная разница между k и побитовым OR элементов подмассива минимальна. Другими словами, выберите подмассив nums[l..r], такой что |k - (nums[l] OR nums[l + 1] ... OR nums[r])| минимально.
Верните минимальное возможное значение абсолютной разницы.
Подмассив — это непрерывная непустая последовательность элементов в массиве.

Пример 1:

Вход: nums = [1,2,4,5], k = 3
Выход: 0
Объяснение:
Подмассив nums[0..1] имеет OR значение 3, что дает минимальную абсолютную разницу |3 - 3| = 0.

Пример 2:

Вход: nums = [1,3,1,3], k = 2
Выход: 1
Объяснение:
Подмассив nums[1..1] имеет OR значение 3, что дает минимальную абсолютную разницу |3 - 2| = 1.

Пример 3:

Вход: nums = [1], k = 10
Выход: 9
Объяснение:
Существует единственный подмассив с OR значением 1, что дает минимальную абсолютную разницу |10 - 1| = 9.

Ограничения:

1 <= nums.length <= 10^5
1 <= nums[i] <= 10^9
1 <= k <= 10^9

Вам дан массив nums и целое число k. Вам нужно найти подмассив nums такой, чтобы абсолютная разница между k и побитовым OR элементов подмассива была как можно меньше. Другими словами, выберите подмассив nums[l.. r] такой, что |k - (nums[l] OR nums[l + 1] ... OR nums[r])| минимальна.
Возвращает минимально возможное значение абсолютной разницы.
Подмассив — это непрерывная непустая последовательность элементов внутри массива.

Пример 1:

Входные данные: nums = [1,2,4,5], k = 3
Выход: 0
Объяснение:
Подмассив nums[0..1] имеет значение OR 3, что дает минимальную абсолютную разность |3 - 3| = 0.

Пример 2:

Входные данные: nums = [1,3,1,3], k = 2
Выход: 1
Объяснение:
Подмассив nums[1..1] имеет значение OR 3, что дает минимальную абсолютную разность |3 - 2| = 1.

Пример 3:

Входные данные: nums = [1], k = 10
Выход: 9
Объяснение:
Существует один подмассив со значением OR 1, который дает минимальную абсолютную разность |10 - 1| = 9.

Ограничения целостности:

1 <= nums.length <= 10^5
1 <= nums[i] <= 10^9
1 <= k <= 10^9


Вам даны два положительных целых числа n и k. Есть n детей, пронумерованных от 0 до n - 1, которые стоят в очереди слева направо.
Изначально ребенок 0 держит мяч, и направление передачи мяча — вправо. Через каждую секунду ребенок, держащий мяч, передает его следующему ребенку. Как только мяч достигает любого конца очереди, то есть ребенка 0 или ребенка n - 1, направление передачи меняется на противоположное.
Верните номер ребенка, который получает мяч через k секунд.

Пример 1:

Вход: n = 3, k = 5
Выход: 1
Пояснение:

Прошедшее время
Дети

0
[0, 1, 2]

1
[0, 1, 2]

2
[0, 1, 2]

3
[0, 1, 2]

4
[0, 1, 2]

5
[0, 1, 2]

Пример 2:

Вход: n = 5, k = 6
Выход: 2
Пояснение:

Прошедшее время
Дети

0
[0, 1, 2, 3, 4]

1
[0, 1, 2, 3, 4]

2
[0, 1, 2, 3, 4]

3
[0, 1, 2, 3, 4]

4
[0, 1, 2, 3, 4]

5
[0, 1, 2, 3, 4]

6
[0, 1, 2, 3, 4]

Пример 3:

Вход: n = 4, k = 2
Выход: 2
Объяснение:

Прошедшее время
Дети

0
[0, 1, 2, 3]

1
[0, 1, 2, 3]

2
[0, 1, 2, 3]

Ограничения:

2 <= n <= 50
1 <= k <= 50

Вам даны два целых положительных числа n и k. В очереди слева направо стоят n детей с номерами от 0 до n - 1.
Первоначально ребёнок 0 держит мяч, и направление передачи мяча вправо. Каждую секунду ребёнок, держащий мяч, передаёт его ребёнку, находящемуся рядом с ним. Как только мяч достигает любого конца линии, т. е. дочернего элемента 0 или дочернего элемента n - 1, направление передачи меняется на противоположное.
Выведите номер ребенка, который получит мяч через k секунд.

Пример 1:

Input: n = 3, k = 5
Output: 1
Explanation:

Time elapsed
Children

0
[0, 1, 2]

1
[0, 1, 2]

2
[0, 1, 2]

3
[0, 1, 2]

4
[0, 1, 2]

5
[0, 1, 2]

Пример 2:

Input: n = 5, k = 6
Output: 2
Explanation:

Time elapsed
Children

0
[0, 1, 2, 3, 4]

1
[0, 1, 2, 3, 4]

2
[0, 1, 2, 3, 4]

3
[0, 1, 2, 3, 4]

4
[0, 1, 2, 3, 4]

5
[0, 1, 2, 3, 4]

6
[0, 1, 2, 3, 4]

Пример 3:

Input: n = 4, k = 2
Output: 2
Explanation:

Time elapsed
Children

0
[0, 1, 2, 3]

1
[0, 1, 2, 3]

2
[0, 1, 2, 3]

Constraints:

2 <= n <= 50
1 <= k <= 50


Вам даны два целых числа n и k.
Изначально вы начинаете с массива a из n целых чисел, где a[i] = 1 для всех 0 <= i <= n - 1. Через каждую секунду вы одновременно обновляете каждый элемент, чтобы он был суммой всех его предыдущих элементов плюс сам элемент. Например, через секунду a[0] остается прежним, a[1] становится a[0] + a[1], a[2] становится a[0] + a[1] + a[2] и т. д.
Верните значение a[n - 1] через k секунд.
Так как ответ может быть очень большим, верните его по модулю 10^9 + 7.

Пример 1:

Вход: n = 4, k = 5
Выход: 56
Пояснение:

Второе
Состояние после

0
[1,1,1,1]

1
[1,2,3,4]

2
[1,3,6,10]

3
[1,4,10,20]

4
[1,5,15,35]

5
[1,6,21,56]

Пример 2:

Вход: n = 5, k = 3
Выход: 35
Пояснение:

Второе
Состояние После

0
[1,1,1,1,1]

1
[1,2,3,4,5]

2
[1,3,6,10,15]

3
[1,4,10,20,35]

Ограничения:

1 <= n, k <= 1000

Вам даны два целых числа n и k.
Первоначально вы начинаете с массива a из n целых чисел, где a[i] = 1 для всех 0 <= i <= n - 1. Каждую секунду вы одновременно обновляете каждый элемент, чтобы он был суммой всех его предыдущих элементов плюс сам элемент. Например, через одну секунду a[0] остается прежним, a[1] становится a[0] + a[1], a[2] становится a[0] + a[1] + a[2], и так далее.
Верните значение a[n - 1] через k секунд.
Поскольку ответ может быть очень большим, верните его по модулю 10%9 + 7.

Пример 1:

Вход: n = 4, k = 5
Выход: 56
Объяснение:

Второй
Состояние после

0
[1,1,1,1]

1
[1,2,3,4]

2
[1,3,6,10]

3
[1,4,10,20]

4
[1,5,15,35]

5
[1,6,21,56]

Пример 2:

Вход: n = 5, k = 3
Выход: 35
Объяснение:

Второй
Состояние после

0
[1,1,1,1,1]

1
[1,2,3,4,5]

2
[1,3,6,10,15]

3
[1,4,10,20,35]

Ограничения:

1 <= n, k <= 1000

Вам дается два целых числа n и k.
Сначала вы начинаете с массива n целых чисел, где a[i] = 1 для всех 0 <= i <= n - 1. После каждой секунды вы одновременно обновляете каждый элемент, чтобы он был суммой всех предшествующих элементов плюс сам элемент. Например, через секунду a[0] остается неизменным, a[1] становится a[0] + a[1], a[2] становится a[0] + a[1] + a[2] и так далее.
Вернуть значение a[n - 1] после k секунд.
Так как ответ может быть очень большим, верните его по модулю 10^9 + 7.

Пример 1:

Вход: n = 4, k = 5
Выход: 56
Пояснение:

Секунда:
Состояние после:

0
[1,1,1,1]

1
[1,2,3,4]

2
[1,3,6,10]

3
[1,4,10,20]

4
[1,5,15,35]

5
[1,6,21,56]

Пример 2:

Вход: n = 5, k = 3
Выход: 35
Пояснение:

Секунда:
Состояние после:

0
[1,1,1,1,1]

1
[1,2,3,4,5]

2
[1,3,6,10,15]

3
[1,4,10,20,35]

Ограничения:

1 <= n, k <= 1000


Вам дан целочисленный массив rewardValues длины n, представляющий значения вознаграждений.
Изначально ваше общее вознаграждение x равно 0, и все индексы не отмечены. Вам разрешено выполнять следующую операцию любое количество раз:

Выберите не отмеченный индекс i из диапазона [0, n - 1].

Если rewardValues[i] больше вашего текущего общего вознаграждения x, то добавьте rewardValues[i] к x (т. е. x = x + rewardValues[i]) и отметьте индекс i.

Верните целое число, обозначающее максимальное общее вознаграждение, которое вы можете получить, выполнив операции оптимально.

Пример 1:

Входные данные: rewardValues = [1,1,3,3]
Выходные данные: 4
Объяснение:
Во время операций мы можем выбрать отметку индексов 0 и 2 по порядку, и общее вознаграждение будет равно 4, что является максимальным.

Пример 2:

Вход: rewardValues = [1,6,4,3,2]
Выход: 11
Объяснение:
Отметьте индексы 0, 2 и 1 по порядку. Тогда общее вознаграждение будет равно 11, что является максимальным.

Ограничения:

1 <= rewardValues.length <= 2000
1 <= rewardValues[i] <= 2000

Вам дан целочисленный массив rewardValues длины n, представляющий значения наград.
Изначально ваша общая награда x равна 0, а все индексы не отмечены. Вам разрешено выполнить следующую операцию любое количество раз:

Выберите немаркированный индекс i из диапазона [0, n - 1].
Если rewardValues[i] больше вашего текущего общего вознаграждения x, то прибавьте rewardValues[i] к x (i.e., x = x + rewardValues[i]) и отметьте индекс i.

Возвращает целое число, обозначающее максимальную общую награду, которую вы можете получить, выполнив операции оптимальным образом.

Пример 1:

Ввод: rewardValues = [1,1,3,3]
Вывод: 4
Объяснение:
Во время операций мы можем выбрать отметку индексов 0 и 2 по порядку, и общее вознаграждение будет равно 4, что является максимальным.

Пример 2:

Ввод: rewardValues = [1,6,4,3,2]
Вывод: 11
Объяснение:
Отметьте индексы 0, 2 и 1 по порядку. Общая награда будет равна 11, что является максимумом.

Ограничения:

1 <= rewardValues.length <= 2000
1 <= rewardValues[i] <= 2000

Дан целочисленный массив rewardValues длиной n, представляющий значения наград.
Изначально ваша общая награда x равна 0, и все индексы не отмечены. Вам разрешается выполнять следующую операцию любое количество раз:

Выберите неотмеченный индекс i из диапазона [0, n - 1].
Если rewardValues[i] больше вашей текущей общей награды x, то добавьте rewardValues[i] к x (т.е. x = x + rewardValues[i]), и отметьте индекс i.

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

Пример 1:

Ввод: rewardValues = [1,1,3,3]
Вывод: 4
Объяснение:
В ходе операций мы можем выбрать, чтобы отметить индексы 0 и 2 по порядку, и общая награда будет 4, что является максимальной.

Пример 2:

Ввод: rewardValues = [1,6,4,3,2]
Вывод: 11
Объяснение:
Отметьте индексы 0, 2 и 1 по порядку. Общая награда будет равна 11, что является максимальной.

Ограничения:

1 <= rewardValues.length <= 2000
1 <= rewardValues[i] <= 2000


Учитывая целочисленный массив часов, представляющий время в часах, вернуть целое число, обозначающее количество пар i, j, где i < j и часы[i] + часы[j] образуют полный день.
Полный день определяется как продолжительность времени, которая является точным кратным 24 часам.
Например, 1 день — это 24 часа, 2 дня — это 48 часов, 3 дня — это 72 часа и т. д.

Пример 1:

Входные данные: hours = [12,12,30,24,24]
Выходные данные: 2
Пояснение:
Пары индексов, которые образуют полный день, — это (0, 1) и (3, 4).

Пример 2:

Входные данные: hours = [72,48,24,3]
Выходные данные: 3
Пояснение:
Пары индексов, которые образуют полный день, — это (0, 1), (0, 2) и (1, 2).

Ограничения:

1 <= hours.length <= 100
1 <= hours[i] <= 10^9

Учитывая целочисленный массив hours, представляющий время в часах, вернуть целое число, обозначающее количество пар i, j, где i < j и hours[i] + hours[j] образуют полный день.
Полный день определяется как продолжительность времени, которая является точным кратным 24 часам.
Например, 1 день — это 24 hours, 2 дня — это 48 hours, 3 дня — это 72 и так далее.

Пример 1:

Входные данные: hours = [12,12,30,24,24]
Выходные данные: 2
Пояснение:
Пары индексов, которые образуют полный день, — это (0, 1) и (3, 4).

Пример 2:

Входные данные: hours = [72,48,24,3]
Выходные данные: 3
Пояснение:
Пары индексов, которые образуют полный день, — это (0, 1), (0, 2) и (1, 2).

Ограничения:

1 <= hours.length <= 100
1 <= hours[i] <= 10^9

Дан целочисленный массив hours, представляющий время в часах. Верните целое число, обозначающее количество пар i, j, где i < j и hours[i] + hours[j] образует полный день.
Полный день определяется как временной интервал, который является точным кратным 24 часам.
Например, 1 день — это 24 часа, 2 дня — это 48 часов, 3 дня — это 72 часа и так далее.

Пример 1:

Input: hours = [12,12,30,24,24]
Output: 2
Explanation:
Пары индексов, которые образуют полный день: (0, 1) и (3, 4).

Пример 2:

Input: hours = [72,48,24,3]
Output: 3
Explanation:
Пары индексов, которые образуют полный день: (0, 1), (0, 2) и (1, 2).

Ограничения:

1 <= hours.length <= 100
1 <= hours[i] <= 10^9


У мага есть различные заклинания.
Вам дается массив power, где каждый элемент представляет урон заклинания. Несколько заклинаний могут иметь одинаковое значение урона.
Известно, что если маг решает произнести заклинание с уроном power[i], он не может произнести ни одно заклинание с уроном power[i] - 2, power[i] - 1, power[i] + 1 или power[i] + 2.
Каждое заклинание можно произнести только один раз.

Верните максимально возможный общий урон, который может произнести маг.

Пример 1:

Вход: power = [1,1,3,4]
Выход: 6
Пояснение:
Максимально возможный урон 6 наносится заклинаниями 0, 1, 3 с уроном 1, 1, 4.

Пример 2:

Вход: power = [7,1,6,6]
Выход: 13
Пояснение:
Максимально возможный урон 13 наносится заклинаниями 1, 2, 3 с уроном 1, 6, 6.

Ограничения:

1 <= power.length <= 10^5
1 <= power[i] <= 10^9

У волшебника есть различные заклинания.
Вам дается массив power, где каждый элемент представляет урон от заклинания. Несколько заклинаний могут иметь одинаковую величину урона.
Известно, что если волшебник решает применить заклинание с уроном power[i], то он не может применить заклинание с уроном power[i] - 2, power[i] - 1, power[i] + 1 или power[i] + 2.
Каждое заклинание можно применить только один раз.
Верните максимальный возможный общий урон, который может нанести волшебник.

Пример 1:

Вход: power = [1,1,3,4]
Выход: 6
Объяснение:
Максимальный возможный урон 6 достигается применением заклинаний 0, 1, 3 с уроном 1, 1, 4.

Пример 2:

Вход: power = [7,1,6,6]
Выход: 13
Объяснение:
Максимальный возможный урон 13 достигается применением заклинаний 1, 2, 3 с уроном 1, 6, 6.

Ограничения:

1 <= power.length <= 10^5
1 <= power[i] <= 10^9

У волшебника есть различные заклинания.
Вам дан массив power, где каждый элемент представляет повреждение заклинания. Несколько заклинаний могут иметь одинаковый урон.
Известно, что если волшебник решит применить заклинание с повреждением power[i], он не может применить заклинание с повреждением power[i] - 2, power[i] - 1, power[i] + 1 или power[i] + 2.
Каждое заклинание может быть использовано только один раз.
Верните максимально возможный общий ущерб, который может нанести маг.

Пример 1:

Вход: power = [1,1,3,4]
Вывод: 6
Объяснение:
Максимально возможный ущерб 6 достигается путем применения заклинаний 0, 1, 3 с повреждением 1, 1, 4.

Пример 2:

Вход: power = [7,1,6,6]
Вывод: 13
Объяснение:
Максимально возможный ущерб 13 достигается путем применения заклинаний 1, 2, 3 с повреждением 1, 6, 6.

Ограничения:

1 <= power.length <= 10^5
1 <= Power [i] <= 10^9


Пик в массиве `arr` — это элемент, который больше, чем предыдущий и следующий элемент в `arr`.
Вам дан целочисленный массив `nums` и двумерный целочисленный массив `queries`.
Вам нужно обработать запросы двух типов:

`queries[i] = [1, l_i, r_i]`, определить количество пиковых элементов в подмассиве `nums[l_i..r_i]`.
`queries[i] = [2, index_i, val_i]`, изменить `nums[index_i]` на `val_i`.

Верните массив `answer`, содержащий результаты запросов первого типа по порядку.
Примечания:

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

Пример 1:

Ввод: `nums = [3,1,4,2,5]`, `queries = [[2,3,4],[1,0,4]]`
Вывод: `[0]`
Объяснение:
Первый запрос: мы меняем `nums[3]` на 4 и `nums` становится `[3,1,4,4,5]`.
Второй запрос: количество пиков в `[3,1,4,4,5]` равно 0.

Пример 2:

Ввод: `nums = [4,1,4,2,1,5]`, `queries = [[2,2,4],[1,0,2],[1,0,4]]`
Вывод: `[0,1]`
Объяснение:
Первый запрос: `nums[2]` должен стать 4, но он уже установлен на 4.
Второй запрос: количество пиков в `[4,1,4]` равно 0.
Третий запрос: второй 4 является пиком в `[4,1,4,2,1]`.

Ограничения:

3 <= `nums.length` <= 10^5
1 <= `nums[i]` <= 10^5
1 <= `queries.length` <= 10^5
`queries[i][0]` == 1 или `queries[i][0]` == 2
Для всех i, таких что:

`queries[i][0]` == 1: 0 <= `queries[i][1]` <= `queries[i][2]` <= `nums.length - 1`
`queries[i][0]` == 2: 0 <= `queries[i][1]` <= `nums.length - 1`, 1 <= `queries[i][2]` <= 10^5

Пик в массиве arr - это элемент, который больше, чем его предыдущий и следующий элемент в arr.
Вам дан целочисленный массив nums и двумерный массив запросов queries.
Вы должны обрабатывать запросы двух типов:

запросы [i] = [1, l_i, r_i], определите количество пиковых элементов в подмассиве nums [l_i..r_i].
запросы [i] = [2, index_i, val_i], изменить nums [index_i] на val_i.

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

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

Пример 1:

Ввод: nums = [3,1,4,2,5], запросы = [[2,3,4], [1,0,4]]
Вывод: [0]
Объяснение:
Первый запрос: мы меняем nums [3] на 4, а nums становится [3,1,4,4,5].
Второй запрос: количество пиков в [3,1,4,4,5] составляет 0.

Пример 2:

Вход: nums= [4,1,4,2,1,5], запросы = [[2,2,4], [1,0,2], [1,0,4]]]
Вывод: [0,1]
Объяснение:
Первый запрос: nums [2] должны стать 4, но он уже установлен в 4.
Второй запрос: количество пиков в [4,1,4] составляет 0.
Третий запрос: второй 4 - пик в [4,1,4,2,1].

Ограничения:

3 <= nums.length <= 10^5
1 <= nums [i] <= 10^5
1 <= queries.length <= 10^5
запросы [i] [0] == 1 или запросы [i] [0] == 2
Для всех i:

запросы [i] [0] == 1: 0 <= запросы [i] [1] <= запросы [i] [2] <= nums.length - 1
запросы [i] [0] == 2: 0 <= запросы [i] [1] <= nums.length - 1, 1 <= запросы [i] [2] <= 10^5


У вас есть массив чисел с плавающей запятой averages, который изначально пуст. Вам дан массив nums из n целых чисел, где n — четное.
Вы повторяете следующий процесс n / 2 раз:

Удалите наименьший элемент, minElement, и наибольший элемент maxElement из nums.
Добавьте (minElement + maxElement) / 2 в averages.

Верните минимальный элемент в averages.

Пример 1:

Ввод: nums = [7,8,3,4,15,13,4,1]
Вывод: 5.5
Объяснение:

шаг
nums
averages

0
[7,8,3,4,15,13,4,1]
[]

1
[7,8,3,4,13,4]
[8]

2
[7,8,4,4]
[8,8]

3
[7,4]
[8,8,6]

4
[]
[8,8,6,5.5]

Наименьший элемент в averages, 5.5, возвращается.
Пример 2:

Ввод: nums = [1,9,8,3,10,5]
Вывод: 5.5
Объяснение:

шаг
nums
averages

0
[1,9,8,3,10,5]
[]

1
[9,8,3,5]
[5.5]

2
[8,5]
[5.5,6]

3
[]
[5.5,6,6.5]

Пример 3:

Ввод: nums = [1,2,3,7,8,9]
Вывод: 5.0
Объяснение:

шаг
nums
averages

0
[1,2,3,7,8,9]
[]

1
[2,3,7,8]
[5]

2
[3,7]
[5,5]

3
[]
[5,5,5]

Ограничения:

2 <= n == nums.length <= 50
n четно.
1 <= nums[i] <= 50

У вас есть массив средних чисел с плавающей запятой, который изначально пуст. Вам дан массив nums из n целых чисел, где n четное.
Вы повторяете следующую процедуру n / 2 раза:

Удалите самый маленький элемент minElement и самый большой элемент maxElement из nums.
Добавьте (minElement + maxElement) / 2 к средним значениям.

Возвращает минимальный элемент в средних значениях.

Пример 1:

Ввод: nums = [7,8,3,4,15,13,4,1]
Выход: 5.5
Объяснение:

шаг
цифры
средние значения

0
[7,8,3,4,15,13,4,1]
[]

1
[7,8,3,4,13,4]
[8]

2
[7,8,4,4]
[8,8]

3
[7,4]
[8,8,6]

4
[]
[8,8,6,5.5]

Возвращается наименьший элемент средних значений, 5.5.
Пример 2:

Ввод: nums = [1,9,8,3,10,5]
Выход: 5.5
Объяснение:

шаг
цифры
средние значения

0
[1,9,8,3,10,5]
[]

1
[9,8,3,5]
[5.5]

2
[8,5]
[5.5,6]

3
[]
[5.5,6,6.5]

Пример 3:

Ввод: nums = [1,2,3,7,8,9]
Выход: 5.0
Объяснение:

шаг
цифры
средние значения

0
[1,2,3,7,8,9]
[]

1
[2,3,7,8]
[5]

2
[3,7]
[5,5]

3
[]
[5,5,5]

Ограничения:

2 <= n == nums.length <= 50
n is even.
1 <= nums[i] <= 50

У вас есть массив чисел с плавающей точкой средние, который изначально пуст. Вам дан массив nums из n целых чисел, где n — четное.Вы повторяете следующую процедуру n / 2 раз:

Удаляем наименьший элемент minElement и наибольший элемент maxElement из nums.
Добавляем (minElement + maxElement) / 2 к средние.

Возвращаем минимальный элемент в средние.

Пример 1:

Вход: nums = [7,8,3,4,15,13,4,1]
Выход: 5,5
Объяснение:

step
nums
средние

0
[7,8,3,4,15,13,4,1]
[]

1
[7,8,3,4,13,4]
[8]

2
[7,8,4,4]
[8,8]

3
[7,4]
[8,8,6]

4
[]
[8,8,6,5.5]

Возвращается наименьший элемент средние, 5,5.
Пример 2:

Вход: nums = [1,9,8,3,10,5]
Выход: 5,5
Пояснение:

step
nums
средние

0
[1,9,8,3,10,5]
[]

1
[9,8,3,5]
[5,5]

2
[8,5]
[5,5,6]

3
[]
[5.5, 6, 6.5]

Пример 3:

Вход: nums = [1,2,3,7,8,9]
Выход: 5.0
Объяснение:

step
nums
средние

0
[1,2,3,7,8,9]
[]

1
[2,3,7,8]
[5]

2
[3,7]
[5,5]

3
[]
[5,5,5]

Ограничения:

2 <= n == nums.length <= 50
n четное.
1 <= nums[i] <= 50


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

Пример 1:

Ввод: grid = [[0,1,0],[1,0,1]]
Вывод: 6
Объяснение:

Наименьший прямоугольник имеет высоту 2 и ширину 3, поэтому его площадь равна 2 * 3 = 6.

Пример 2:

Ввод: grid = [[1,0],[0,0]]
Вывод: 1
Объяснение:

Наименьший прямоугольник имеет как высоту, так и ширину 1, поэтому его площадь равна 1 * 1 = 1.

Ограничения:

1 <= grid.length, grid[i].length <= 1000
grid[i][j] равно 0 или 1.
Гарантируется, что в grid есть хотя бы одна единица.

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

Пример 1:

Вход: grid = [[0,1,0],[1,0,1]]
Выход: 6
Пояснение:

Наименьший прямоугольник имеет высоту 2 и ширину 3, поэтому его площадь 2 * 3 = 6.

Пример 2:

Вход: grid = [[1,0],[0,0]]
Выход: 1
Пояснение:

Наименьший прямоугольник имеет высоту и ширину 1, поэтому его площадь 1 * 1 = 1.

Ограничения:

1 <= grid.length, grid[i].length <= 1000
grid[i][j] равно 0 или 1.
Входные данные генерируются таким образом, чтобы в grid была хотя бы одна 1.


Дан целочисленный массив nums длиной n.
Стоимость подмассива nums[l..r], где 0 <= l <= r < n, определяется как:
cost(l, r) = nums[l] - nums[l + 1] + ... + nums[r] * (−1)^r − l
Ваша задача — разделить nums на подмассивы так, чтобы суммарная стоимость подмассивов была максимальной, гарантируя, что каждый элемент принадлежит ровно одному подмассиву.
Формально, если nums разделен на k подмассивов, где k > 1, по индексам i_1, i_2, ..., i_k − 1, где 0 <= i_1 < i_2 < ... < i_k - 1 < n - 1, тогда общая стоимость будет:
cost(0, i_1) + cost(i_1 + 1, i_2) + ... + cost(i_k − 1 + 1, n − 1)
Верните целое число, обозначающее максимальную общую стоимость подмассивов после оптимального разбиения массива.
Примечание: Если nums не разделен на подмассивы, т.е. k = 1, общая стоимость просто равна cost(0, n - 1).

Пример 1:

Вход: nums = [1,-2,3,4]
Выход: 10
Объяснение:
Один из способов максимизировать общую стоимость — разделить [1, -2, 3, 4] на подмассивы [1, -2, 3] и [4]. Общая стоимость будет (1 + 2 + 3) + 4 = 10.

Пример 2:

Вход: nums = [1,-1,1,-1]
Выход: 4
Объяснение:
Один из способов максимизировать общую стоимость — разделить [1, -1, 1, -1] на подмассивы [1, -1] и [1, -1]. Общая стоимость будет (1 + 1) + (1 + 1) = 4.

Пример 3:

Вход: nums = [0]
Выход: 0
Объяснение:
Мы не можем дальше разделять массив, поэтому ответ 0.

Пример 4:

Вход: nums = [1,-1]
Выход: 2
Объяснение:
Выбор всего массива дает общую стоимость 1 + 1 = 2, что является максимумом.

Ограничения:

1 <= nums.length <= 10^5
-10^9 <= nums[i] <= 10^9

Вам дан целочисленный массив nums длиной n.
Стоимость подмассива nums[l..r], где 0 <= l <= r < n, определяется как:
cost(l, r) = nums[l] - nums[l + 1] + ... + nums[r] * (−1)^r − l
Ваша задача — разбить nums на подмассивы таким образом, чтобы общая стоимость подмассивов была максимальной, гарантируя, что каждый элемент принадлежит ровно одному подмассиву.
Формально, если nums разбить на k подмассивов, где k > 1, по индексам i_1, i_2, ..., i_k − 1, где 0 <= i_1 < i_2 < ... < i_k - 1 < n - 1, то общая стоимость будет:
cost(0, i_1) + cost(i_1 + 1, i_2) + ... + cost(i_k − 1 + 1, n − 1)
Вернуть целое число, обозначающее максимальную общую стоимость подмассивов после оптимального разбиения массива.
Примечание: если nums не разбить на подмассивы, т. е. k = 1, общая стоимость будет просто cost(0, n - 1).

Пример 1:

Вход: nums = [1,-2,3,4]
Выход: 10
Пояснение:
Один из способов максимизировать общую стоимость — разбить [1, -2, 3, 4] на подмассивы [1, -2, 3] и [4]. Общая стоимость составит (1 + 2 + 3) + 4 = 10.

Пример 2:

Вход: nums = [1,-1,1,-1]
Выход: 4
Пояснение:
Один из способов максимизировать общую стоимость — разбить [1, -1, 1, -1] на подмассивы [1, -1] и [1, -1]. Общая стоимость составит (1 + 1) + (1 + 1) = 4.

Пример 3:

Вход: nums = [0]
Выход: 0
Пояснение:
Мы не можем разделить массив дальше, поэтому ответ 0.

Пример 4:

Вход: nums = [1,-1]
Выход: 2
Пояснение:
Выбор всего массива дает общую стоимость 1 + 1 = 2, что является максимумом.

Ограничения:

1 <= nums.length <= 10^5
-10^9 <= nums[i] <= 10^9


Вам даны два целых числа red и blue, представляющие количество красных и синих шариков. Вам нужно расположить эти шарики так, чтобы в первом ряду был 1 шарик, во втором ряду — 2 шарика, в третьем ряду — 3 шарика и т. д.
Все шарики в определенном ряду должны быть одного цвета, а соседние ряды — разных цветов.
Верните максимальную высоту треугольника, которую можно получить.

Пример 1:

Входные данные: red = 2, blue = 4
Выходные данные: 3
Пояснение:

Единственно возможное расположение показано выше.

Пример 2:

Входные данные: red = 2, blue = 1
Выходные данные: 2
Пояснение:

Единственно возможное расположение показано выше.

Пример 3:

Вход: red = 1, blue = 1
Выход: 1

Пример 4:

Вход: red = 10, blue = 1
Выход: 2
Пояснение:

Единственно возможное расположение показано выше.

Ограничения:

1 <= red, blue <= 100

Вам даны два целых числа red и blue, представляющие количество красных и синих шариков. Вы должны расположить эти шарики в форме треугольника так, чтобы в 1^м ряду был 1 шарик, во 2^м ряду было 2 шарика, в 3^м ряду — 3 шарика и так далее.
Все шарики в конкретном ряду должны быть одного цвета, а соседние ряды должны быть разного цвета.
Верните максимальную высоту треугольника, которую можно достичь.

Пример 1:

Ввод: red = 2, blue = 4
Вывод: 3
Объяснение:

Единственное возможное расположение показано выше.

Пример 2:

Ввод: red = 2, blue = 1
Вывод: 2
Объяснение:

Единственное возможное расположение показано выше.

Пример 3:

Ввод: red = 1, blue = 1
Вывод: 1

Пример 4:

Ввод: red = 10, blue = 1
Вывод: 2
Объяснение:

Единственное возможное расположение показано выше.

Ограничения:

1 <= red, blue <= 100

У вас есть два целых числа в красном и синем цвете, представляющие количество красных и синих шаров. Вы должны сгруппировать эти шары так, чтобы сформировать такой треугольник, что в 1-ом ряду будет 1 шар, во 2-ом 2 шара, в 3-ем 3, и т.д.
Все шары в конкретном ряду должны быть одного цвета, в соседних рядах должны быть отличающиеся цвета.
Выдайте максимальную высоту треугольника, которая может быть достигнута.

Пример 1:
Input: red = 2, blue = 4
Output: 3
Explanation:

The only possible arrangement is shown above.

Пример 2:

Input: red = 2, blue = 1
Output: 2
Explanation:

The only possible arrangement is shown above.

Пример 3:

Input: red = 1, blue = 1
Output: 1

Пример 4:

Input: red = 10, blue = 1
Output: 2
Explanation:

The only possible arrangement is shown above.

Constraints:

1 <= red, blue <= 100


Вам дан целочисленный массив nums.
Подпоследовательность sub массива nums длины x называется допустимой, если выполняется:

(sub[0] + sub[1]) % 2 == (sub[1] + sub[2]) % 2 == ... == (sub[x - 2] + sub[x - 1]) % 2.

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

Пример 1:

Ввод: nums = [1,2,3,4]
Вывод: 4
Пояснение:
Самая длинная допустимая подпоследовательность — [1, 2, 3, 4].

Пример 2:

Ввод: nums = [1,2,1,1,2,1,2]
Вывод: 6
Пояснение:
Самая длинная допустимая подпоследовательность — [1, 2, 1, 2, 1, 2].

Пример 3:

Ввод: nums = [1,3]
Вывод: 2
Пояснение:
Самая длинная допустимая подпоследовательность — [1, 3].

Ограничения:

2 <= nums.length <= 2 * 10^5
1 <= nums[i] <= 10^7

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

(sub[0] + sub[1]) % 2 == (sub[1] + sub[2]) % 2 == ... == (sub[x - 2] + sub[x - 1]) % 2.

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

Пример 1:

Ввод: nums = [1,2,3,4]
Вывод: 4
Объяснение:
Самая длинная допустимая подпоследовательность это [1, 2, 3, 4].

Пример 2:

Ввод: nums = [1,2,1,1,2,1,2]
Вывод: 6
Объяснение:
Самая длинная допустимая подпоследовательность это [1, 2, 1, 2, 1, 2].

Пример 3:

Ввод: nums = [1,3]
Вывод: 2
Объяснение:
Самая длинная допустимая подпоследовательность это [1, 3].

Ограничения:

2 <= nums.length <= 2 * 10^5
1 <= nums[i] <= 10^7

Вам дан целочисленный массив nums.
Подпоследовательность sub из nums длиной x называется допустимой, если она удовлетворяет:

(sub[0] + sub[1]) % 2 == (sub[1] + sub[2]) % 2 == ... == (sub[x - 2] + sub[x - 1]) % 2.

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

Пример 1:

Вход: nums = [1,2,3,4]
Выход: 4
Объяснение:
Самая длинная допустимая подпоследовательность — [1, 2, 3, 4].

Пример 2:

Вход: nums = [1,2,1,1,2,1,2]
Выход: 6
Пояснение:
Самая длинная допустимая подпоследовательность — [1, 2, 1, 2, 1, 2].

Пример 3:

Вход: nums = [1,3]
Выход: 2
Пояснение:
Самая длинная допустимая подпоследовательность — [1, 3].

Ограничения:

2 <= nums.length <= 2 * 10^5
1 <= nums[i] <= 10^7


Существует два неориентированных дерева с n и m узлами, пронумерованными от 0 до n - 1 и от 0 до m - 1 соответственно. Вам даны два двумерных целочисленных массива edges1 и edges2 длиной n - 1 и m - 1 соответственно, где edges1[i] = [a_i, b_i] указывает, что есть ребро между узлами a_i и b_i в первом дереве, а edges2[i] = [u_i, v_i] указывает, что есть ребро между узлами u_i и v_i во втором дереве.
Вы должны соединить один узел из первого дерева с другим узлом из второго дерева ребром.
Верните минимально возможный диаметр полученного дерева.
Диаметр дерева — это длина самого длинного пути между любыми двумя узлами в дереве.

Пример 1:

Ввод: edges1 = [[0,1],[0,2],[0,3]], edges2 = [[0,1]]
Вывод: 3
Объяснение:
Мы можем получить дерево с диаметром 3, соединив узел 0 из первого дерева с любым узлом из второго дерева.

Пример 2:

Ввод: edges1 = [[0,1],[0,2],[0,3],[2,4],[2,5],[3,6],[2,7]], edges2 = [[0,1],[0,2],[0,3],[2,4],[2,5],[3,6],[2,7]]
Вывод: 5
Объяснение:
Мы можем получить дерево с диаметром 5, соединив узел 0 из первого дерева с узлом 0 из второго дерева.

Ограничения:

1 <= n, m <= 10^5
edges1.length == n - 1
edges2.length == m - 1
edges1[i].length == edges2[i].length == 2
edges1[i] = [a_i, b_i]
0 <= a_i, b_i < n
edges2[i] = [u_i, v_i]
0 <= u_i, v_i < m
Входные данные сформированы так, что edges1 и edges2 представляют собой корректные деревья.

Существует два неориентированных дерева с узлами n и m, пронумерованными от 0 до n - 1 и от 0 до m - 1 соответственно. Даны два двумерных целочисленных массива edges1 и edges2 длиной n - 1 и m - 1 соответственно, где edges1[i] = [a_i, b_i] указывает, что между узлами a_i и b_i в первом дереве есть ребро, а edges2[i] = [u_i, v_i] указывает, что между узлами u_i и v_i во втором дереве есть ребро.
Необходимо соединить ребром один узел первого дерева с другим узлом второго дерева.
Верни минимально возможный диаметр полученного дерева.
Диаметр дерева — длина самого длинного пути между любыми двумя узлами в дереве.

Пример 1:

Ввод: edges1 = [[0,1],[0,2],[0,3]], edges2 = [[0,1]]
Вывод: 3
Пояснение:
Мы можем получить дерево с диаметром 3, соединив узел 0 первого дерева с любым узлом второго дерева.

Пример 2:

Ввод: edges1 = [[0,1],[0,2],[0,3],[2,4],[2,5],[3,6],[2,7]], edges2 = [[0,1],[0,2],[0,3],[2,4],[2,5],[3,6],[2,7]]
Вывод: 5
Пояснение:
Мы можем получить дерево с диаметром 5, соединив узел 0 первого дерева с узлом 0 второго дерева.

Ограничения:

1 <= n, m <= 10^5
edges1.length == n - 1
edges2.length == m - 1
edges1[i].length == edges2[i].length == 2
edges1[i] = [a_i, b_i]
0 <= a_i, b_i < n
edges2[i] = [u_i, v_i]
0 <= u_i, v_i < m
Входные данные сформированы так, что edges1 и edges2 представляют собой допустимые деревья.

Существуют два неориентированных дерева с n и m узлами, пронумерованными от 0 до n - 1 и от 0 до m - 1 соответственно. Вам даны два двумерных целочисленных массива sides1 и sides2 длиной n - 1 и m - 1 соответственно, где sides1[i] = [a_i, b_i] указывает, что между узлами a_i и b_i в первом дереве есть ребро, а sides2[i] = [u_i, v_i] указывает, что между узлами u_i и v_i во втором дереве есть ребро.
Вы должны соединить один узел из первого дерева с другим узлом из второго дерева ребром.
Вернуть минимально возможный диаметр полученного дерева.
Диаметр дерева — это длина самого длинного пути между любыми двумя узлами в дереве.

Пример 1:

Вход: sides1 = [[0,1],[0,2],[0,3]],sides2 = [[0,1]]
Выход: 3
Пояснение:
Мы можем получить дерево диаметра 3, соединив узел 0 из первого дерева с любым узлом из второго дерева.

Пример 2:

Вход: sides1 = [[0,1],[0,2],[0,3],[2,4],[2,5],[3,6],[2,7]], sides2 = [[0,1],[0,2],[0,3],[2,4],[2,5],[3,6],[2,7]]
Выход: 5
Пояснение:
Мы можем получить дерево диаметра 5, соединив узел 0 из первого дерева с узлом 0 из второго дерева.

Ограничения:

1 <= n, m <= 10^5
sides1.length == n - 1
sides2.length == m - 1
sides1[i].length == sides2[i].length == 2
sides1[i] = [a_i, b_i]
0 <= a_i, b_i < n
sides2[i] = [u_i, v_i]
0 <= u_i, v_i < m
Входные данные генерируются таким образом, что ребра1 и ребра2 представляют собой допустимые деревья.


Дана строка s и целое число k. Зашифруйте строку, используя следующий алгоритм:

Для каждого символа c в s замените c на k^й символ после c в строке (циклично).

Верните зашифрованную строку.

Пример 1:

Ввод: s = "dart", k = 3
Вывод: "tdar"
Объяснение:

Для i = 0, 3^й символ после 'd' — это 't'.
Для i = 1, 3^й символ после 'a' — это 'd'.
Для i = 2, 3^й символ после 'r' — это 'a'.
Для i = 3, 3^й символ после 't' — это 'r'.

Пример 2:

Ввод: s = "aaa", k = 1
Вывод: "aaa"
Объяснение:
Все символы одинаковы, поэтому зашифрованная строка будет такой же.

Ограничения:

1 <= s.length <= 100
1 <= k <= 10^4
s состоит только из строчных английских букв.

Вам дается строка s и целое число k. Зашифруйте строку с помощью следующего алгоритма:

Для каждого символа c в s заменить c на k^th символ после c в строке (циклическим образом).

Верните зашифрованную строку.

Пример 1:

Вход: s = "dart", k = 3
Выход: "tdar"
Пояснение:

Для i = 0, 3^rd символ после 'd' является 't'.
Для i = 1, 3^rd символ после 'a' является 'd'.
Для i = 2, 3^rd символ после 'r' является 'a'.
Для i = 3, 3^rd символ после 't' является 'r'.

Пример 2:

Вход: s = "aaa", k = 1
Выход: "ааа"
Пояснение:
Поскольку все символы одинаковы, зашифрованная строка будет такой же.

Ограничения:

1 <= s.length <= 100
1 <= k <= 10^4
s consists only of lowercase English letters.


Дано положительное целое число n.
Бинарная строка x является допустимой, если все подстроки длины 2 содержат хотя бы одну "1".
Верните все допустимые строки длины n в любом порядке.

Пример 1:

Ввод: n = 3
Вывод: ["010","011","101","110","111"]
Объяснение:
Допустимые строки длины 3: "010", "011", "101", "110" и "111".

Пример 2:

Ввод: n = 1
Вывод: ["0","1"]
Объяснение:
Допустимые строки длины 1: "0" и "1".

Ограничения:

1 <= n <= 18

Вам дано положительное целое число n.
Двоичная строка x является допустимой, если все подстроки x длины 2 содержат хотя бы одну "1".
Вернуть все допустимые строки длины n в любом порядке.

Пример 1:

Вход: n = 3
Выход: ["010","011","101","110","111"]
Пояснение:
Допустимые строки длины 3: "010", "011", "101", "110" и "111".

Пример 2:

Вход: n = 1
Выход: ["0","1"]
Пояснение:
Допустимые строки длины 1: "0" и "1".

Ограничения:

1 <= n <= 18


Дана двумерная матрица символов grid, где grid[i][j] — это либо 'X', 'Y', либо '.', вернуть количество подматриц, которые содержат:

grid[0][0]
одинаковую частоту 'X' и 'Y'.
по крайней мере один 'X'.

Пример 1:

Вход: grid = [["X","Y","."],["Y",".","."]]
Выход: 3
Пояснение:

Пример 2:

Вход: grid = [["X","X"],["X","Y"]]
Выход: 0
Пояснение:
Ни одна подматрица не имеет одинаковой частоты 'X' и 'Y'.

Пример 3:

Вход: grid = [[".","."],[".","."]]
Выход: 0
Пояснение:
Ни одна подматрица не имеет хотя бы одного 'X'.

Ограничения:

1 <= grid.length, grid[i].length <= 1000
grid[i][j] — это либо 'X', 'Y', либо '.'.

Учитывая сетку 2D символьной матрицы, где grid[i][j] имеет значение 'X', 'Y', or '.', верните количество подматриц, которые содержат:

grid[0][0]
одинаковая частота 'X' и 'Y'.
хотя бы один 'X'.

Пример 1:

Ввод: grid = [["X","Y","."],["Y",".","."]]
Вывод: 3
Объяснение:

Пример 2:

Ввод: grid = [["X","X"],["X","Y"]]
Вывод: 0
Объяснение:
Ни одна подматрица не имеет равной частоты 'X' and 'Y'.

Пример 3:

Ввод: grid = [[".","."],[".","."]]
Вывод: 0
Объяснение:
Ни одна подматрица не имеет хотя бы одного 'X'.

Ограничения:

1 <= grid.length, grid[i].length <= 1000
grid[i][j] is either 'X', 'Y', or '.'.

Дана двумерная матрица символов grid, где grid[i][j] — это либо 'X', 'Y', либо '.', вернуть количество подматриц, которые содержат:

grid[0][0]
одинаковую частоту 'X' и 'Y'.
по крайней мере один 'X'.

Пример 1:

Вход: grid = [["X","Y","."],["Y",".","."]]
Выход: 3
Пояснение:

Пример 2:

Вход: grid = [["X","X"],["X","Y"]]
Выход: 0
Пояснение:
Ни одна подматрица не имеет одинаковой частоты 'X' и 'Y'.

Пример 3:

Вход: grid = [[".",".",[".","."]]
Выход: 0
Пояснение:
Ни одна подматрица не имеет хотя бы одного 'X'.

Ограничения:

1 <= grid.length, grid[i].length <= 1000
grid[i][j] — это либо 'X', 'Y', либо '.'.