#570. 堆积如山的书

堆积如山的书

问题描述

我们有两张桌子:A和B。桌子A上垂直堆叠着NN本书,桌子B上同样堆叠着MM本书。 阅读桌子A上从顶部数第ii本书需要花费AiA_i分钟(1iN1 \leq i \leq N),阅读桌子B上从顶部数第ii本书需要花费BiB_i分钟(1iM1 \leq i \leq M)。 考虑以下操作:

  • 选择一张还有剩余书的桌子,阅读该桌子最上面的那本书,并将其从桌子上移除。 通过重复这一操作,我们最多可以阅读多少本书,使得总时间不超过KK分钟?除了阅读时间外,其他操作的时间忽略不计。

约束条件

  • 1N,M2000001 \leq N, M \leq 200000
  • 1K1091 \leq K \leq 10^9
  • 1Ai,Bi1091 \leq A_i, B_i \leq 10^9
  • 输入中的所有值均为整数。

输入

输入通过标准输入给出,格式如下:

N M K
A_1 A_2 ... A_N
B_1 B_2 ... B_M

输出

输出一个整数,表示可以阅读的最大书籍数量。

样例输入1

3 4 240
60 90 120
80 150 80 150

样例输出1

3

在这种情况下,阅读桌子A上从顶部数第1、2、3本书分别需要60、90、120分钟,阅读桌子B上从顶部数第1、2、3、4本书分别需要80、150、80、150分钟。 我们可以按照以下方式在230分钟内阅读3本书,这是在240分钟内可以阅读的最大数量:

  • 阅读桌子A最上面的书,花费60分钟,并将该书从桌子上移除。
  • 阅读桌子B最上面的书,花费80分钟,并将该书从桌子上移除。
  • 阅读桌子A最上面的书,花费90分钟,并将该书从桌子上移除。

样例输入2

3 4 730
60 90 120
80 150 80 150

样例输出2

7

样例输入3

5 4 1
1000000000 1000000000 1000000000 1000000000 1000000000
1000000000 1000000000 1000000000 1000000000

样例输出3

0

注意整数溢出的问题。