A. Анаграмматический Хаос

Xotira: 32 MB, Vaqt: 1000 ms
Masala

В мире древних текстов и тайн силы анаграмм скрыты мудрые знания и могущественные заклинания. Двое отважных исследователей, Мика и Яё, решили вступить в сражение с загадками, спрятанными мудрыми магами. Они отправились на поиски тайн, но понимают, что путь к ним усеян опасностями и испытаниями. Они обратились к вам за помощью в решении одной из могущественных загадок.

Дается строка \( s \) состоящая из \( k \) первых букв английского алфавита. За одну операцию можно переставить две соседние буквы в строке \( s \). Пусть \( d(x, y) \) - минимальное количество операций, которое требуется, чтобы строку \( x \) превратить в строку \( y \). Обозначим \( P(s) \) как множество всех перестановок строки \( s \). Требуется найти \( \max_{s' \in P(s)} d(s, s') \).

Kiruvchi ma'lumotlar:

Первая строка содержит целое число \( k \) (\( 2 \leq k \leq 10 \)) - количество различных букв в строке \( s \).
Вторая строка содержит строку \( s \)  (\( |s| \leq 10^5 \)), состоящую из \( k \) различных строчных букв английского алфавита.

Chiquvchi ma'lumotlar:

Выведите одно целое число - максимальное значение \( d(s, s') \) для всех перестановок \( s' \) строки \( s \).

Misollar:
# INPUT.TXT OUTPUT.TXT
1
2
bbba
3
2
3
abc
3
3
3
caccb
6

B. Космическая Балансировка

Xotira: 32 MB, Vaqt: 1000 ms
Masala

Галактический архитектор Эркин снова создает звездные системы. На этот раз ему поручено создать \( k \) галактик из \( n \) звезд с весами \( m_1, m_2, \ldots, m_n \). Однако, в соответствии с законом Космического баланса, полученные галактики должны иметь одинаковую массу. Помогите Эркину определить, возможно ли это.

Kiruvchi ma'lumotlar:

Первая строка содержит два целых числа \( n \) и \( k \) (\( n \leq 20 \), \( k \leq n \)) - количество чисел в массиве и количество кучек.
Вторая строка содержит \( n \) целых чисел \( m_1, m_2, \ldots, m_n \) (\( m_i \leq 10^7 \)), разделенных пробелами - элементы массива.

Chiquvchi ma'lumotlar:

Выведите "YES", если можно разбить массив на \( k \) кучек с одинаковой суммой, и "NO" в противном случае.

Misollar:
# INPUT.TXT OUTPUT.TXT
1
5 3
2 7 5 3 13
NO
2
5 3
3 5 4 1 2
YES

C. Команда аналитиков

Xotira: 128 MB, Vaqt: 2000 ms
Masala

Аркадий - менеджер команды аналитиков из \(k\) человек. У Аркадия есть бэклог из \(n\) задач, \(i\)-я задача требует \(t_i\) дней работы любого из членов команды (мы считаем всех членов команды равнозначными). Над каждой задачей от начала до конца должен работать кто-то один. Передавать задачи в процессе выполнения неудобно. Для каждой задачи известен дедлайн - \(d_i\) рабочих дней. Помогите Аркадию определить, успеет ли его команда выполнить все задачи в срок.

Kiruvchi ma'lumotlar:

В первой строке заданы два целых положительных числа - \(n\) и \(k\)

\((1 <= n, k <= 15)\). В каждой из следующих \(n\) строк заданы

два целых положительных числа - \(t_i\) и \(d_i\) \((1 <= t_i <= d_i <= 10^9)\).

Chiquvchi ma'lumotlar:

Выведите NO, если нельзя выполнить все задачи в срок.

Иначе в первой строке выведите YES. 

Misollar:
# INPUT.TXT OUTPUT.TXT
1
5 2
3 3
2 2
3 6
2 4
2 6
YES
2
2 1
4 7
4 7
NO
3
1 2
1 2
YES
4
5 2
5 5
2 2
1 6
2 4
2 6
YES

D. Минимальное Максимальное Ребро

Xotira: 32 MB, Vaqt: 2000 ms
Masala

Дан взвешенный связный неориентированный граф и отмечены две вершины s и t. Найдите минимальное максимальное ребро на пути из вершины s в вершину t.

Kiruvchi ma'lumotlar:

В первой строке заданы четыре целых числа через пробел: \( n \), \( m \), \( s \), \( t \) (\( n \leq 10^5 \), \( n-1 \leq m \leq 3 \times 10^5 \)) - количество вершин в графе, количество рёбер в графе и номера начальной и конечной вершин пути соответственно.
В следующих \( m \) строках описаны рёбра графа. Каждая строка содержит три целых числа через пробел: \( u \), \( v \), \( w \) (\(1 \leq u,v \leq n, 1 \leq w \leq 10^9 \)) - вершины, которые соединяет ребро, и его вес.

Chiquvchi ma'lumotlar:

Выведите одно число - вес минимального максимального ребра на пути из вершины \( s \) в вершину \( t \).

Izoh:

В примере существует множество путей из 1 в 5. Рассмотрим путь 1 → 2 → 5. В этом пути максимальное ребро веса 5. Заметим, что нет пути из 1 в 5 с меньшим максимальным ребром.

Misollar:
# INPUT.TXT OUTPUT.TXT
1
5 7 1 5
2 5 2
1 2 5
3 1 5
4 5 6
3 2 3
2 4 4
5 1 10
5

E. Настольная игра

Xotira: 32 MB, Vaqt: 2000 ms
Masala

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

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

Все \(n\) шестигранных кубиков помещаются в непрозрачный мешок:

Игрок перемешивает кубики и вытягивает 2 из мешка. 

Побрасывает два вытянутых кубика и определяет два числа \(a\) и \(b\) на верхних гранях. 

Объем предоставляемых ресурсов равен \((a+b)^3\)

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

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

 

 

 

Kiruvchi ma'lumotlar:

В первой строке задано одно число \(n (2 <= n <= 100)\)

Далее \(n\) строках заданы описания граней кубиков: шесть целых чисел \(a_{i, j}\) \((1 <= a_{i, j} <= 100)\)

Chiquvchi ma'lumotlar:

Выведите ответ на задачу. Ответ будет защитан, если относительная ошибка ответа не будет превосходить \(10^{-4}\)

Misollar:
# INPUT.TXT OUTPUT.TXT
1
2
1 2 3 4 5 6
1 2 3 4 5 6
465.500000
2
3
2 2 2 2 2 2
4 5 5 5 5 4
9 8 9 1 9 4
978.222222
3
4
1 1 1 1 1 1
1 2 3 4 5 6
3 4 3 4 3 4
9 9 9 9 9 9
943.250000

F. Озеленение Марса

Xotira: 32 MB, Vaqt: 2000 ms
Masala

Требуется высадить аллею из \(n\) деревьев. Лунки под деревьями пронумерованы последовательно. Расстояние между деревьями определяется как разность номеров лунок, где они растут. 

На Марсе могут выжить только \(k\) сортов деревьев. Красота одного дерева \(i\)-го сорта \(c_i\)
Требуется озеленить Марс с максимальной суммарной красотой. Однако, деревья одного сорта конфликтуют, поэтому их следует садить как минимум на расстоянии \(k\)

Kiruvchi ma'lumotlar:

В первой строке находится два целых числа \(k (1 <= k <= 5)\) и \(n (1 <= n <= 10^5) \)

В следующей строке следуют \(k\) целых чисел \(c_i\) \((1 <= c_i <= 10^5) \)

Chiquvchi ma'lumotlar:

В единственной строке выведите ответ на задачу. 

Misollar:
# INPUT.TXT OUTPUT.TXT
1
2 5
6 7
33
2
1 5
9
45
3
5 2
11 10 7 5 18
29

G. Степень двойки

Xotira: 32 MB, Vaqt: 2000 ms
Masala

Любое натуральное число \(n\) может быть представлено как сумма степеней двойки. Например, число 6 может быть представлено как 1 + 1 + 1 + 1 + 1 + 1, 2 + 2 + 2, 4 + 2, 4 + 1 + 1, и т.д.

Обозначим \(f(x)\) - минимальное количество членов в разбиении числа \(x\).

Для данного натурального числа \(n\) определите натуральное число \(m\) ,для которого выполняются следующие условия:

\(f(n) = f(m)\)

Число m больше числа \(n\) и является минимально возможным.

Kiruvchi ma'lumotlar:

Одно натуральное число \(n (1 <= n <= 2^{30})\)

 

Chiquvchi ma'lumotlar:

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

Misollar:
# INPUT.TXT OUTPUT.TXT
1
6
9
2
20
24
3
1026
1028

H. XOR Турнир

Xotira: 32 MB, Vaqt: 1000 ms
Masala

XOR Турнир - соревнование, где встречаются лучшие из лучших спортивных программистов. Алиса и Боб, участники этого турнира, решили потренироваться в своей любимой игре. 

Для этой игры двум участникам дается массив из \( n \) целых неотрицательных чисел. Участники по очереди забирают себе по одному числу из массива. После того как в массиве больше не осталось чисел, происходит подсчет XOR сумм для каждого участника. Побеждает тот, у кого получившееся XOR сумма больше. Если же XOR суммы оказались равны, объявляется ничья.

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

Kiruvchi ma'lumotlar:

Первая строка содержит целое число \( n \) (\( 1 \leq n \leq 10^5 \)) - длина массива. Вторая строка содержит \( n \) неотрицательных целых чисел \( a_1, a_2, \ldots, a_n \) (\( 0 \leq a_i \leq 10^9 \)) - элементы массива.

Chiquvchi ma'lumotlar:

Выведите "Alice", если выигрывает Алиса, "Bob", если выигрывает Боб, и "Draw", если ничья.

Misollar:
# INPUT.TXT OUTPUT.TXT
1
3
2 3 5
Alice
2
3
1 1 1
Bob
3
3
1 2 3
Draw

I. Язык Foo

Xotira: 32 MB, Vaqt: 2000 ms
Masala

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

function Foo(array_of_ints a): // input parameters: array of integers
     result = 0
     while size(a) > 2: // as long as the array length is at least two elements
         sort(a) // sort the array in ascending order
         n = size(a)
         x = a[0] + a[n - 2]
         result += x // add x to the accumulated result
         delete(a, n-2) // delete element by index (n-2)
         delete(a, 0) // delete element at index 0
         add(a, x) // add element by value x to end of array
     return sum(a) + result // add the sum of elements to the accumulated result

Обратите внимание, что этот псевдокод использует 0-индексацию массива.

Kiruvchi ma'lumotlar:

Первая строка входных данных содержит одно целое число \(n\) (1 ≤ \(n\) ≤ 300 000) — количество элементов в массиве \(a\).

Вторая строка содержит \(n\) целых чисел \(a_i\) (0 ≤ \(a_i\) ≤ 1 000 000). Числа в строке разделены одинарными пробелами.

Chiquvchi ma'lumotlar:

Выведите одно целое число - ответ на задачу.

Misollar:
# INPUT.TXT OUTPUT.TXT
1
1
362018
362018
2
3
3 6 2018
2036
3
6
3 6 2 0 1 8
53
Kitob yaratilingan sana: 21-May-24 22:59