eolymp
bolt
Try our new interface for solving problems
Məsələlər

Я пройду 500 миль

Я пройду 500 миль

Фермер Джон хочет разделить своих n коров, пронумерованных 1 .. n, на k непустых групп так, чтобы никакие две коровы из двух разных групп не могли взаимодействовать друг с другом, не пройдя несколько миль. Корова x и корова y (где 1x < yn) готовы пройти (2019201913x + 2019201949y) mod 2019201997 миль, чтобы увидеть друг друга.

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

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

Два числа n (n7500) и k (2kn).

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

Выведите m в оптимальном решении.

Пример

В приведенном примере коровы 1 и 2 хотят пройти 2019201817 миль чтобы увидеть друг друга. Коровы 2 и 3 хотят пройти 2019201685 миль. Коровы 1 и 3 хотят пройти 2019201769 миль. Сгруппируем коровы так чтобы 1 была сама, а 2 и 3 вместе, получим m = min(2019201817, 2019201769) = 2019201769 (наилучшее, что мы можем здесь сделать).

Zaman məhdudiyyəti 1 saniyə
Yaddaşı istafadə məhdudiyyəti 128 MiB
Giriş verilənləri #1
3 2
Çıxış verilənləri #1
2019201769
Mənbə 2019 USACO US Open, Золото