#DX0039. 最优 K 子段

最优 K 子段

题目描述

给定一个序列 a1,a2,,ana_1,a_2,…,a_n,从中找出恰好 kk 个不相交的连续子段,满足每一段的长度都是质数。假设其中第 ii 个子段的子段和是 sis_i,你需要最大化 min(s1,s2,,sk)\min(s_1,s_2,…,s_k)

输入格式

第一行包含一个正整数 TT (1T1001≤T≤100),表示测试数据的组数。

每组数据第一行包含两个正整数 n,kn,k (2n200000,1kn2≤n≤200000, 1≤k≤n)。

第二行包含 nn 个整数 a1,a2,,ana_1,a_2,…,a_n (ai1000|a_i|≤1000)。

输入数据保证 n106∑n≤10^6,且每个 aia_i 都是在 [1000,1000][−1000,1000] 均匀随机生成得到(样例除外)。

输出格式

对于每组数据输出一行:若存在合法方案,输出一个整数,即 min(s1,s2,,sk)\min(s_1,s_2,…,s_k) 的最大可能值;若无解,输出 impossible\text{impossible}

输入样例

4
6 1
1 1 4 5 1 4
6 1
-1 -1 -4 -5 -1 -4
6 3
-1 -1 -4 -5 -1 -4
2 2
0 0

输出样例

15
-2
-9
impossible