Код решения на Python
python
import sys
def solve():
# Чтение входных данных из стандартного потока
input_data = sys.stdin.read().split()
if not input_data:
return
n = int(input_data[0])
k = int(input_data[1])
s = input_data[2]
frequencies = {}
# 1. Подсчет биграмм внутри строки s
for i in range(n - 1):
bigram = s[i:i+2]
frequencies[bigram] = frequencies.get(bigram, 0) + k
# 2. Подсчет биграммы на стыке копий строк (если копий больше одной)
if k > 1:
border_bigram = s[-1] + s[0]
frequencies[border_bigram] = frequencies.get(border_bigram, 0) + (k - 1)
# 3. Поиск наилучшей биграммы
best_bigram = ""
max_count = -1
for bigram, count in frequencies.items():
if count > max_count:
max_count = count
best_bigram = bigram
elif count == max_count:
if bigram < best_bigram:
best_bigram = bigram
# Вывод результата
print(best_bigram)
print(max_count)
if __name__ == '__main__':
solve()