Codeforces Round 373 (Div. 1) |
---|
Закончено |
У Матвея сегодня день рождения. Так как он никогда не знает, какие подарки он хочет получить, его друзья, недолго думая, решили подарить ему строку s длины n. Эта строка состоит из первых восьми букв английского алфавита: «a», «b», «c», ..., «h».
Первый вопрос, который может у вас возникнуть: кому может быть нужна какая-то строка? Но Матвей — необычный мальчик, он тут же придумал увлекательное занятие. Первым делом нужно составить неориентированный граф, в котором вершины — это различные позиции в строке, а рёбра существуют между любыми двумя различными позициями a и b (1 ≤ a, b ≤ n), для которых выполняется хотя бы одно из следующих условий:
Далее, чтобы не было скучно, Матвей решил найти диаметр этого графа, то есть максимальное кратчайшее расстояние среди всех пар вершин, а также количество пар вершин, на которых это расстояние достигается. Матвей — очень опытный программист, поэтому быстро справился с этой задачей. Получится ли у вас?
В первой строке входных данных содержится целое число n (2 ≤ n ≤ 100 000) — длина строки.
Во второй строке записана сама строка s. Гарантируется, что s состоит из первых восьми букв английского алфавита.
Выведите два целых числа — диаметр графа и количество пар вершин, расстояние между которыми равно диаметру.
3
abc
2 1
7
aaabaaa
2 4
Рассмотрим второй тестовый пример.
Максимальное расстояние — 2. Оно достигается для четырёх пар вершин : (1, 4), (2, 4), (4, 6) и (4, 7).
Название |
---|