#P2759. Distributing tasks

    ID: 1759 传统题 1000ms 256MiB 尝试: 1 已通过: 1 难度: 10 上传者: 标签>贪心其他二分查找POJ Monthly--2006.02.26zgl & twb

Distributing tasks

题目描述

一天,JiajiaJiajiaWindWind带着他们的m2m-2个孩子外出植树。他们认为树木应该成对种植,就像人类一样,因此决定种植偶数棵树,即2n2n棵,排成两行,每行nn棵。由于种植某些树的难度较大,JiajiaJiajia仔细测量了每棵树的难度值,并希望将这些树分成mm组,每组分配给一个人种植。

每个人种植的树木必须位于一个与坐标轴平行的矩形区域内。一个人的任务难度值为其种植的所有树木的难度值之和。由于JiajiaJiajia总是承担最重的任务(他不能把最困难的任务留给亲爱的WindWind或可爱的孩子们),他希望通过对任务分配进行优化,使得所有mm个任务中最大的难度值尽可能小。

下图是样例输入的示意图,不同颜色代表不同的任务。此样例中只有33个人JiajiaWindAutumn(Jiajia、Wind和Autumn),但你的程序需要处理更复杂的情况,比如JiajiaJiajiaWindWind有非常多孩子的情况。

输入

第一行包含两个整数nnmm。接下来的两行每行包含nn个整数,分别表示两行中从左到右每棵树的难度值。假设n<10001n<10001mmin{2n,1000}m \leq \min\{2n,1000\},且所有难度值的总和不超过2302^{30}

输出

输出一个整数,表示Jiajia任务的最小化最大难度值。

样例输入

3 3  
1 2 6  
2 1 6  

样例输出

6  

来源

POJ Monthly--2006.02.26, zgl & twb