Cho hai dãy số nguyên a1,…,an và b1,…,bn. Đặt dp1=0. Với mỗi i>1, bạn phải chọn một chỉ số j<i và trả chi phí dpj+bj⋅ai.
Hãy tính giá trị nhỏ nhất có thể của dpn.
Input
Dòng đầu chứa n.
Dòng thứ hai chứa dãy a.
Dòng thứ ba chứa dãy b.
Output
In dpn.
Constraints
1≤n≤105.
a1=1,1≤ai≤109 và dãy a tăng nghiêm ngặt.
bn=0,0≤bi≤109 và dãy b giảm nghiêm ngặt.
Scoring
Subtask 1 (50% số điểm): kích thước chính không vượt quá 60.
Subtask 2 (50% số điểm): Không có giới hạn bổ sung.
Example
Test 1
Input
4
1 2 4 7
9 6 3 0
Output
57
Giải thích: Ta có dp2=18,dp3=36. Với i=4, ba lựa chọn cho giá trị 63,60,57, nên dp4=57.
Lời giải tóm tắt
Phân tích: Tính recurrence cực tiểu tuyến tính trên mọi chỉ số trước.
Thuật toán: Mỗi trạng thái j sinh đường y=b_j·x+dp_j. Truy vấn bao dưới tại x=a_i để lấy dp_i, rồi thêm đường của trạng thái mới.
Chứng minh: Tập đường trước khi xử lý i tương ứng một-một với mọi j<i; giá trị đường tại a_i đúng bằng chi phí nếu chọn j. Vì vậy cực tiểu của bao là recurrence.