今年的春游,学校安排同学们到果园采摘果子。
果园共有 N+1 棵果树排在一条直线上,编号从 1 到 N+1。第 i 棵果树上有 A_i 个成熟的果实等待采摘。
有 N 位同学参加本次采摘活动,他们的编号为 1 \sim N。编号为 i 的同学可以采摘编号为 i 和编号为 i+1 这两棵果树上的果实,但编号为 i 的同学最多能采摘 B_i 个果实。
你的任务是合理安排每位同学的采摘任务,使得所有同学合作,采摘的果实总数最大。
第一行输入一个整数 N(1 \leq N \leq 10^5),表示采摘同学的数量。
第二行输入 N+1 个整数 A_1, A_2, \dots, A_{N+1},表示每棵果树上的果实数量。
第三行输入 N 个整数 B_1, B_2, \dots, B_N,表示每位同学最多能采摘的果实数量。
输出一个整数,表示在合理安排下,所有同学合作采摘的果实总数最大值。
4 10 20 30 40 50 12 16 100 30
128
4 10 20 30 40 50 2 4 6 8
20
9 10 18 29 30 100 100 30 80 90 30 12 200 3 10 50 60 8 9 10
207
共有 5 棵果树,每棵树上分别有 10 20 30 40 50 个果实。
共有 4 位同学,每位同学最多能采摘到的果实数分别为 12 16 100 30。
以下是一个可以采摘到最大果实数的采摘方案。
第 1 位同学采摘第 1 棵树上的 10 个果实和第 2 棵树上的 2 个果实。
第 2 位同学采摘第 2 棵树上的 16 个果实。
第 3 位同学采摘第 3 棵树上的 30 个果实和第 4 棵树上的 40 个果实。
第 4 位同学采摘第 4 棵树上的 30 个果实。
一共可以采摘到 =12+16+70+30=128 个果实。
对于 15\% 的数据,满足 1 \le N \le 20,且 B_i \leq A_i(i 在 [1, N] 的范围内),即每位同学最多能采摘的果实数量不超过该树上果实的数量。
对于 35\% 的数据,满足 1 \le N \le 20。
对于 100\% 的数据,满足 1 \leq N \leq 10^5,1 \leq A_i \leq 10^9,1 \leq B_i \leq 10^9。