PivotOJ

Excruciating Elevators

시간 제한: 2000ms메모리 제한: 2048MB출처: BAPC 2025BOJ 35208

문제

It is the 25th of May, 3025. The EEMCS building at TU Delft has grown to 10610^6 floors beyond the ground floor! The floors are now numbered 0,1,,1060,1,\ldots,10^6, but there are still only four elevators. Moreover, the elevators have malfunctioned and are currently turned off. As employee of the Building Ascension Plans Company, you are tasked to fix the elevators.

You first have to order some components, which will take a month to arrive at the ground floor. After collecting the components, you must visit nn floors f1,,fnf_1,\ldots,f_n in order. At each floor fif_i, you must replace some component, which takes tit_i seconds. After replacing the final component, the elevators will be fixed.

The stairs have long been removed, since people got tired of walking up millions of flights of stairs. You thus have to use the elevators to travel between the floors. You can turn on the elevators, but when you turn one on, you can no longer turn it off. Once turned on, an elevator will move up and down between floors 00 and 10610^6 indefinitely. The elevators move at a speed of one floor every second without stopping, but you are agile enough to enter and exit.

You know exactly when the components will arrive. In the meantime, you can determine when to turn on each elevator. This timing determines the starting configuration of each elevator when the components arrive. Since you have a month, you can enforce any arbitrary starting configuration of the elevators. What is the minimum possible time to fix the elevators?

As an example, consider the first sample input. You can ensure one elevator starts at ground floor going up, and another starts at floor 750000750\,000 going up. Entering the former elevator immediately, you arrive at floor 600000600\,000 after 600000600\,000 seconds. After 5000050\,000 more seconds, you finish replacing the component at floor 600000600\,000. In the meantime, the latter elevator reached the top floor after 250000250\,000 seconds, when it started going down. Now, 400000400\,000 seconds later, this elevator is at floor 600000600\,000 going down. You can enter this elevator immediately and exit 200000200\,000 seconds later at floor 400000400\,000. Finally, after 150000150\,000 seconds, you finish replacing the component at floor 400000400\,000, and the elevators are fixed! The total time is 600000+50000+200000+150000=1000000600\,000+50\,000+200\,000+150\,000=1\,000\,000 seconds.

입력

The input consists of:

  • One line with an integer nn (1n351\leq n\leq 35), the number of floors to visit.
  • One line with nn integers f1,,fnf_1,\ldots,f_n (0fi1060\leq f_i\leq10^6 for each ii), the numbers of the floors you must visit.
  • One line with nn integers t1,,tnt_1,\ldots,t_n (1ti1091\leq t_i\leq10^9 for each ii), the necessary time spent on each floor in seconds.

No two consecutive floors fi,fi+1f_i,f_{i+1} are equal, and f1f_1 is non-zero.

출력

Output the minimum possible time in seconds to fix the elevators after the components have arrived and you start at the ground floor.

예제

예제 1

입력
2
600000 400000
50000 150000
출력
1000000

예제 2

입력
10
1 2 3 4 5 6 7 8 9 10
1 1 1 1 1 1 1 1 1 1
출력
4000012
코드를 제출하려면 로그인하세요.