Module: 按答案进行二分查找


Problem

5 /6


*报告

Problem

Vers 需要准备一份关于最后一次出击的报告。她已经在脑海里写好了文字,剩下的就是写下来了。该报告将由两部分组成:第一部分将包含 n 个单词, i 其中包含 ai< /code>字母,第二个— m 个单词,第 j 个单词由 bj 个字母组成。克里亚语不包含任何标点符号。 Vers 必须将报告写在方格纸卷上,w 单元格宽度。由于报告由两部分组成,她将用一条垂直线将卷筒分成整个宽度的两部分,然后她将第一部分写在左侧,然后在右侧——第二。
报告的两部分都以相同的方式编写,每个部分都在卷轴上。单词的一个字母恰好占据一个单元格。第一个单词写在卷的第一行,从这部分卷的最左边的单元格开始。如果可能的话,每个下一个单词都应该与前一个单词写在同一行上,并与前一个单词恰好用一个空单元格分开。
否则,它写在下一行,从最左边的单元格开始。如果卷的一部分的宽度小于该部分应该写的某个字的长度,则不可能在这样宽度的卷的一部分上写这部分报告。
保证可以画竖线,这样报告的两部分都可以写。 Vers 想画一条垂直线,使足以写报告的卷的长度最小。帮助她找到最小长度。
<分区> 
输入: 
- 第一行包含三个整数 wnm — roll width,报告第一部分和第二部分的字数(\(1 <= w <= 10^9\); \(1 <= n, m <= 100 000\));
- 下一行给出 n 个整数 ai —报告第一部分第i个词的长度\(1 <= a_i <= 10^9\);
- 下一行给出 m 个整数 bj —报告第二部分第j个单词的长度\(1 <= b_j <= 10^9\)
保证可以画一条线,这样报告的两部分都可以写

输入:在一行中打印一个整数 —卷的最小长度,足以写一份报告。
 
例子
<头> <日># <正文>
注意
在样本测试中,通过在第 7 列和第 8 列单元格之间画一条线,然后在报告的两部分中每行写两个词,可以将卷分为两部分。
输入 输出
1
15 6 6
2 2 2 3 2 2
3 3 5 2 4 3
3