Олимпиадный тренинг

Задача . F. Польшар и Подарки


Рождество! Польшар и его друзья будут дарить друг другу подарки. Всего шаров n. Каждый шар должен подарить подарок ровно одному другому шару в соответствии с некоторой перестановкой p, pi ≠ i для всех i.

К сожалению, шары забывчивы. Мы знаем, что ровно k шаров забудут принести свои подарки. Шар номер i получит подарок, если будут выполнены следующие два условия:

  1. Шар номер i должен принести свой подарок.
  2. Шар x такой, что px = i, должен принести свой подарок.

Какое минимально и максимально возможное число шаров, которые не получат свой подарок, если ровно k шаров забудут принести свой подарок?

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

В первой строке находится два целых числа n и k (2 ≤ n ≤ 106, 0 ≤ k ≤ n) — общее число шаров и число шаров, которые забудут подарки.

Во второй строке находится перестановка p целых чисел от 1 до n, где pi — номер шара, которому должен дать подарок шар номер i. Для всех i выполняется pi ≠ i.

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

Выведите два числа — минимально и максимально возможное число шаров, которые не получат подарков, соответственно.

Примечание

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


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

time 1500 ms
memory 256 Mb
Правила оформления программ и список ошибок при автоматической проверке задач

Статистика успешных решений по компиляторам
 Кол-во
С++ Mingw-w645
Комментарий учителя