#P16168. [ICPC 2015 NAIPC] Primal Partitions

[ICPC 2015 NAIPC] Primal Partitions

题目描述

数学系向你所在大学的计算机科学系发起挑战,要求解决离散数学中的一个难题。为了计算机科学系的荣誉,你必须解决这个难题!

在这个难题中,你得到一串由 nn 个正整数组成的序列。你需要将这个序列划分成 kk 个连续的区域,每个区域至少包含 11 个整数。找到一种划分后,将用一种奇怪的方式计分。在每个区域中,你必须找到能整除该区域内每个整数的最大素数。数学系提醒你,素数是大于 11 且只有 11 和自身两个因数的整数。如果找不到这样的素数,则该区域的得分为 00。划分的总得分是所有区域得分的最小值。

你的任务是找到可能的最大得分。如果数学系的得分更高,他们就赢了,所以请务必每次都找到最大得分!

输入格式

每个输入包含单个测试用例。请注意,你的程序可能会在不同输入上多次运行。每个输入的第一行包含两个空格分隔的整数 nn1n200001 \leq n \leq 20000)和 kk1kmin(100,n)1 \leq k \leq \min(100, n)),其中 nn 是原始序列中正整数的个数,kk 是划分中的区域个数。下一行包含 nn 个空格分隔的整数 vv1v1,000,0001 \leq v \leq 1{,}000{,}000),表示要划分的原始序列(按顺序)。

输出格式

输出一个整数,表示将 nn 个正整数的序列划分成 kk 个区域时可能获得的最大得分。

5 3
10 5 4 8 3
2
5 3
10 11 12 13 14
0

提示

翻译由 DeepSeek V3.2 完成