DÃY CON KHÔNG GIẢM

(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.

Bạn cần đăng nhập để nộp bài

hpcode.edu.vn
Code tích cực
Trong 24h
  1. qtaydzs1tg (17/23)
  2. ducanhbc (16/23)
  3. duythai (12/18)
Trong 7 ngày
  1. haiyen2011 (69/149)
  2. khanhchi_29 (66/81)
  3. qtaydzs1tg (65/98)
Trong 30 ngày
  1. nongvantien11 (115/189)
  2. trungo0 (112/199)
  3. ngocbichh (110/267)
Thống kê
AC/Sub: 120817/226949
Pascal: 18142
C++: 157988
Python: 50747
Lượt xem/tải tests: 41020

Lưu Hải Phong - 2020
[email protected]