Bài 4 - Độ dài đoạn (HSG 9 An Giang 2025-2026)
Xem PDF
Điểm:
1000
Thời gian:
1.0s
Bộ nhớ:
1G
Input:
bàn phím
Output:
màn hình
Cho dãy \(N\) số nguyên dương. Một đoạn con giảm là một dãy các phần tử liên tiếp từ trái sang phải sao cho phần tử đứng trước lớn hơn phần tử đứng sau (\(a_i > a_{i+1}\)).
Yêu cầu: Viết chương trình tìm đoạn con giảm dài nhất có tổng các phần tử là nhỏ nhất. Nếu có nhiều đoạn con thỏa mãn cùng độ dài và cùng tổng nhỏ nhất, hãy in ra đoạn con xuất hiện đầu tiên.
Input
- Dòng thứ nhất chứa số nguyên dương \(N\) (\(1 \le N \le 500\)).
- Dòng thứ hai gồm \(N\) số nguyên \(a_i\) (\(|a_i| \le 1000\)), mỗi số cách nhau một khoảng trắng.
Output
- Dòng 1: Độ dài của đoạn con giảm dài nhất có tổng nhỏ nhất.
- Dòng 2: Tổng nhỏ nhất của đoạn con đó.
- Dòng 3: Các phần tử của đoạn con tìm được, mỗi số cách nhau một khoảng trắng.
Example
Test 1
Input
9
1 2 1 3 4 5 3 2 4
Output
3
10
5 3 2
Note
Đoạn con giảm dài nhất có độ dài là \(3\). Trong dãy có đoạn 5 3 2 là đoạn con giảm dài nhất với tổng là \(5 + 3 + 2 = 10\).
Test 2
Input
9
1 3 2 1 4 5 3 2 4
Output
3
6
3 2 1
Note
Có hai đoạn con giảm cùng độ dài \(3\) là 3 2 1 (tổng \(6\)) và 5 3 2 (tổng \(10\)). Đoạn con có tổng nhỏ nhất là 3 2 1.
Constraints
- \(1 \le N \le 500\)
- \(|a_i| \le 1000\)
Bình luận (1)