行走
测试数据来自 system/2158
时间限制:1秒 内存限制:256M
【题目描述】
FJ想要将他的编号为 \(1..N\) 的 \(N\) 头奶牛分为非空的 \(K\) 组(\(2≤K≤N\)),使得任意两头来自不同组的奶牛都需要走一定的距离才能相遇。奶牛 \(x\) 和奶牛 \(y\) (其中 \(1≤x<y≤N\) )愿意为了见面走:
\((2019201913x + 2019201949 y) mod\ 2019201997\) (英里)
给定一个将 \(N\) 头奶牛分为 \(K\) 个非空小组的分组方案,令 \(M\) 为任意两头来自不同组的奶牛愿意为了见面行走的英里数的最小值。为了测试奶牛们相互之间的忠诚度,FJ想要将 \(N\) 头奶牛以最佳的方式分为 \(K\) 组,使得 \(M\) 尽可能大。
【输入格式】
输入仅有一行,包含 \(N\) 和 \(K\) ,用空格分隔。
【输出格式】
输出最优的 \(M\)。
【输入输出样例】
Input
3 2
Output
2019201769
【输入输出样例解释】
在这个例子中,奶牛1 和奶牛2 愿意为了见面走 2019201817 英里。奶牛2 和奶牛3 愿意走 2019201685 英里。奶牛1 和奶牛3 愿意走 2019201769 英里。所以,将奶牛1 单独分为一组,奶牛2 和奶牛3 分为一组, \(M=min(2019201817,2019201769)=2019201769M=min(2019201817,2019201769)=2019201769\) (这是我们在这个问题中能够达到的最佳结果)。
【数据限制】
对于 \(20\%\) 的数据,\( N≤7500\)。
【来源】
Mr.he