(subseqnb.*)
Cho một dãy số gồm n số nguyên dương \(a_{1},\ a_{2},\ \ldots\ ,\ a_{n}\ (1 \leq n \leq 10^{6};\ 1 \leq a_{i} \leq 10^{6})\). Xét các dãy con là dãy các phần tử liên tiếp nhau của dãy ban đầu, mà trong đó các phần tử là không giảm \((a_{i} \leq a_{i + 1} \leq \ldots \leq a_{j - 1} \leq a_{j};\ 1 \leq i \leq j \leq \ n)\).
Yêu cầu: Tìm các dãy con có tổng các phần tử là lớn nhất trong các dãy con trên.
Dữ liệu vào:
Dòng đầu tiên ghi số nguyên dương \(n\);
Dòng tiếp theo ghi \(n\) số nguyên dương, mỗi số cách nhau một khoảng trắng.
Kết quả:
Dòng đầu tiên ghi tổng lớn nhất tìm được.
Mỗi dòng tiếp theo, mỗi dòng ghi ra các phần tử của một dãy con tìm được.
Ví dụ:
Input | Output |
---|---|
10 2 2 3 4 6 6 7 7 8 8 | 53 2 2 3 4 6 6 7 7 8 8 |
Input | Output |
---|---|
11 4 7 4 5 7 4 9 3 3 4 6 | 16 4 5 7 3 3 4 6 |
Ràng buộc:
Có 20% số điểm ứng với: \(n\ = \ 10\) và dãy ban đầu là một dãy không giảm;
Có 20% số điểm ứng với \((11\ \leq \ n\ \leq \ 200)\);
Có 20% số điểm ứng với \((201\ \leq \ n\ \leq \ 10^{3})\);
40% số điểm còn lại không có ràng buộc gì thêm.
Code tích cực |
---|
Trong 24h |
Trong 7 ngày |
|
Trong 30 ngày |
|
Thống kê |
---|
AC/Sub: 97887/180710 Pascal: 17121 C++: 130348 Python: 33199 Lượt xem/tải tests: 38904 |