Trại hè Hùng Vương 2023 - Bắn bi

Xem dạng PDF

Gửi bài giải


Điểm: 10,00 (OI)
Giới hạn thời gian: 1.0s
Giới hạn bộ nhớ: 1G
Input: stdin
Output: stdout

Dạng bài
Ngôn ngữ cho phép
C, C++, Java, Output Only, Pascal, PyPy, Python, Scratch, TEXT

Trong trường hợp đề bài hiển thị không chính xác, bạn có thể tải đề bài tại đây: Đề bài

Trường của Vinh đang tổ chức một giải bắn bi với luật chơi khá đặc biệt. Ban đầu có ~n~ viên bi được đánh số ~1, 2, 3, ..., n~ từ trái sang phải, viên bi ở vị trí ~i~ có hệ số điểm là ~a_i~. Mỗi lần bắn, nếu bắn trúng một viên bi ở vị trí ~j~, người chơi sẽ được số điểm bằng tích hệ số điểm của viên bi đó với tổng hệ số điểm của ~2~ viên bi bên cạnh. Sau khi bắn, viên bi ở vị trí ~j~ sẽ bị loại bỏ và các viên bi bên phải (vị trí ~j+1, j+2, ...~) sẽ được đẩy sang trái một vị trí.

Ví dụ: Dãy bi ban đầu là ~\{2, 5, 7, 3, 8, 1\}~.

  • Khi bắn vào viên bi vị trí ~3~, người chơi được ~7 \times (5 + 3) = 56~ điểm, dãy bi trở thành ~\{2, 5, 3, 8, 1\}~.
  • Khi bắn tiếp vào viên bi vị trí ~4~, người chơi được ~8 \times (3 + 1) = 32~ điểm, dãy bi trở thành ~\{2, 5, 3, 1\}~.

Mỗi người cần thực hiện ~n - 2~ lần bắn, đồng thời không được bắn vào một trong hai vị trí đầu tiên và cuối cùng.

Lần này, khi đến với hội thi, Vinh chưa ôn tập thuật toán bắn tối ưu nên Vinh đã chọn một cách bắn ngẫu nhiên, xác định bởi dãy ~b_1, b_2, b_3, ..., b_{n-2}~. Lượt bắn thứ ~i~ (~1 \le i \le n-2~), Vinh sẽ bắn vào viên bi ở vị trí thứ ~b_i~ trong hàng hiện tại.

Yêu cầu: Hãy lập trình xác định tổng số điểm Vinh đạt được sau ~n - 2~ lượt bắn.

Input

  • Dòng đầu chứa số nguyên dương ~n~ (~3 \le n \le 2 \times 10^5~).
  • Dòng thứ hai chứa ~n~ số nguyên dương ~a_1, a_2, ..., a_n~ (~a_i \le 10^5, \forall i = 1, 2, ..., n~).
  • Dòng thứ ba chứa ~n - 2~ số nguyên ~b_1, b_2, ..., b_{n-2}~ (~1 < b_i \le n - i, \forall i = 1, 2, ..., n - 2~).

Output

  • Ghi ra một số nguyên duy nhất là tổng số điểm Vinh nhận được sau khi thực hiện ~n - 2~ lượt bắn.

Sample Input 1

6
2 5 7 3 8 1
3 4 3 2

Sample Output 1

121

Subtasks

Subtask Điểm Ràng buộc
1 ~10~ ~n \le 1000; a_i = 1, \forall i = 1, 2, ..., n~.
2 ~15~ ~n \le 1000; b_i = 2, \forall i = 1, 2, ..., n-2~.
3 ~35~ ~n \le 1000~.
4 ~40~ ~n \le 2 \times 10^5~.

Bình luận

Hãy đọc nội quy trước khi bình luận.


Không có bình luận tại thời điểm này.