viovow是无语羊农场的主要经营人。在农场里,每天有许许多多的杂务要做,每一项杂务都需要一定的时间来完成它。比如:检修剪毛器,把绵羊赶到羊圈,修剪羊毛等等。为了维持无语羊农场的正常运行,需要尽早的完成各项杂务。
其中,有一些杂务必须要在另一件杂务完成之后才能进行,例如,你需要检修剪毛器之后才能开始剪毛工作。至少有一项杂务不要求有准备工作,这个可以最早着手完成的工作,标记为杂务 1。
viovow有需要完成的 n个杂务的清单,并且这份清单是有一定顺序的,杂务 k (k>1) 的准备工作只可能在杂务 1至 k−1 中,且每一项杂务最多有一项准备工作,若无准备工作,则准备工作为0
写一个程序依次读入每个杂务的工作说明。计算出所有杂务都被完成的最短时间。当然互相没有关系的杂务可以同时工作,并且,你可以假定 viovow 的农场有足够多的工人来同时完成任意多项任务。
第1行:一个整数 n (3≤n≤10,000),必须完成的杂务的数目;
第2行:n个整数a1,a2,...an,ai代表第i项杂务的准备工作是ai。(0≤ai≤n-1)
第3行: n个整数b1,b2,...bn,bi代表第i项杂务所需要的时间是bi。(0<bi≤20)
5
0 1 0 2 2
2 5 8 4 1
11