CTT 2026 - Nameless

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: 2600 (p) Thời gian: 3.0s Bộ nhớ: 1G Input: bàn phím Output: màn hình

Ngày trước, bạn M và người bạn N cùng chuẩn bị một kỳ thi lập trình. Họ nghĩ ra \(n\) bài, đánh số từ \(1\) đến \(n\); chất lượng của bài thứ \(i\) là số nguyên không âm \(a_i\).

Thời gian trôi qua. M không còn là thí sinh Olympic Tin học, nhưng hai người từng hẹn sẽ cùng tổ chức một chuỗi kỳ thi. M chưa quên lời hẹn đó.

M muốn chia \(n\) bài thành một số buổi luyện tập, tức chia dãy bài thành các đoạn liên tiếp. Một cách chia được biểu diễn bởi

\[ 0=r_0<r_1<r_2<\cdots<r_k=n. \]

\(k\) buổi; buổi thứ \(i\) gồm các bài từ \(r_{i-1}+1\) đến \(r_i\).

M nhận thấy chất lượng của một kỳ thi được quyết định bởi bài hay nhất và bài cuối cùng. Vì vậy, chất lượng của một buổi luyện tập được định nghĩa là tích của:

  • giá trị \(a_i\) lớn nhất trong buổi;
  • giá trị \(a_i\) của bài có chỉ số lớn nhất trong buổi.

M chưa quyết định số buổi và có \(q\) giá trị ứng viên \(k_1,k_2,\ldots,k_q\). Với mỗi \(k_j\), hãy tìm tổng chất lượng lớn nhất của các buổi trong mọi cách chia thành đúng \(k_j\) buổi.

Dữ liệu vào

Dữ liệu gồm nhiều bộ test.

  • Dòng đầu chứa số nguyên dương \(t\), số bộ test.
  • Với mỗi bộ test:
  • Dòng đầu chứa hai số nguyên dương \(n,q\).
  • Dòng thứ hai chứa \(n\) số nguyên không âm \(a_1,a_2,\ldots,a_n\).
  • Dòng thứ ba chứa \(q\) số nguyên dương \(k_1,k_2,\ldots,k_q\).

Dữ liệu ra

Với mỗi bộ test, in một dòng gồm \(q\) số nguyên không âm. Số thứ \(j\) là tổng chất lượng lớn nhất khi chia thành đúng \(k_j\) buổi.

Ràng buộc

Tính trên toàn bộ các bộ test:

\[ 1\le n,\qquad \sum n\le 5\cdot10^5,\qquad 1\le q,\qquad \sum q\le10^5 \]
\[ 0\le a_i\le10^6,\qquad 1\le k_j\le n \]

Chấm điểm

Các cột \(\sum n\)\(\sum q\) được tính trên toàn bộ các bộ test trong một tệp.

Phần Điểm \(\sum n\le\) \(\sum q\le\) Giới hạn thêm
1 10 300 300 Không có
2 20 3000 3000 Không có
3 10 \(10^5\) 10 Không có
4 30 \(10^5\) \(10^5\) Không có
5 10 \(5\cdot10^5\) \(10^5\) \(a_n=0\) trong mỗi bộ test
6 20 \(5\cdot10^5\) \(10^5\) Không có

Ví dụ

Ví dụ

Input
2
4 3
3 2 4 1
3 1 4
5 5
10 3 16 8 7
1 2 3 4 5
Output
26 4 30
112 312 412 469 478

Nguồn

Kỳ thi tập huấn đội tuyển quốc gia Trung Quốc 2026, CCF, giấy phép CC BY-NC.

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: