COCI 2026 - Skijanje

Xem PDF



Dạng bài
Ngôn ngữ cho phép
Assembly, Awk, C, C#, C++, Clang, Cobol, D, Groovy, Haskell, JS, Java, Kotlin, Lua, Node JS, OCaml, ObjectiveC, Output, PHP, Pascal, Perl, Prolog, Pypy, Pypy 3, Python, Ruby, Rust, Scala, Scratch, Swift
Điểm: 2300 (p) Thời gian: 1.0s Bộ nhớ: 512M Input: bàn phím Output: màn hình

Khu nghỉ trượt tuyết có \(n\) điểm apres-ski tạo thành một cây gốc tại điểm \(1\). Mỗi dốc được hướng từ nhãn nhỏ hơn sang nhãn lớn hơn. Với mỗi \(i>1\), dốc \(i\) đi từ \(p_i\) đến \(i\), trong đó \(p_i<i\); dốc này có độ vui \(z_i\) và tốc độ \(b_i\). Mia chọn một lượt đi gồm nhiều nhất \(k\) dốc liên tiếp theo chiều các dốc. Gọi \(z_{first}\)\(z_{last}\) là độ vui của dốc đầu và cuối; độ hỗn loạn của lượt đi là

\[z_{last}\cdot\left(z_{last}+\sum b_i\right)+z_{first}^2,\]

trong đó tổng lấy trên các dốc của lượt đi. Khi \(k=1\), công thức vẫn giữ nguyên và hai dốc đầu, cuối trùng nhau. Hãy tìm độ hỗn loạn lớn nhất.

Dữ liệu vào

Dòng đầu chứa \(n,k\) (\(1\le k\le n\le3\cdot10^5\)). Dòng thứ hai chứa \(n-1\) số nguyên, số thứ \(i\)\(p_{i+1}\) (\(1\le p_i<i\)). Dòng thứ ba chứa \(n-1\) số \(z_2,\ldots,z_n\) (\(1\le z_i\le10^5\)). Dòng thứ tư chứa \(n-1\) số \(b_2,\ldots,b_n\) (\(-10^5\le b_i\le10^5\)).

Dữ liệu ra

In độ hỗn loạn lớn nhất.

Ràng buộc

Các giới hạn chính thức của dữ liệu được nêu đầy đủ trong phần Dữ liệu vào.

Phân nhóm

  1. \(14\) điểm: \(n\le1000\).
  2. \(23\) điểm: với mọi \(1\le i<n\), có \(z_i=1\)\(b_i>1\).
  3. \(35\) điểm: \(n\le50000\).
  4. \(38\) điểm: không có ràng buộc thêm.

Ví dụ

Ví dụ 1

Input
5 1
1 2 2 1
5 4 8 7
6 3 9 3
Output
200

Ví dụ 2

Input
9 2
1 2 1 1 4 3 6 5
1 3 7 8 4 1 8 2
1 -7 -1 -6 3 8 -1 6
Output
120

Nguồn

COCI 2025/2026 - Vòng 6, bài Skijanje.

Đề bài và dữ liệu kiểm thử được lấy từ nguồn chính thức của Croatian Open Competition in Informatics.

Bình luận

Mới nhất
Tải bình luận...

Không có bình luận nào.

Kỳ thi: