Gửi bài giải
Điểm:
10,00 (OI)
Giới hạn thời gian:
1.0s
Giới hạn bộ nhớ:
256M
Input:
stdin
Output:
stdout
Dạng bài
Ngôn ngữ cho phép
C, C++, Java, Kotlin, Pascal, PyPy, Python, Scratch
* Cho một mảng số nguyên a
gồm n
phần tử, với mỗi phần tử có giá trị trong khoảng -10^9 ≤ a[i] ≤ 10^9.
Hãy tìm phân đoạn con (subarray) liên tiếp trong mảng sao cho tổng các phần tử của phân đoạn con này là lớn nhất. *
**Yêu cầu:**
1. In ra tổng lớn nhất của phân đoạn con.
2. In ra chỉ số bắt đầu và kết thúc của phân đoạn con đó (theo hệ quy chiếu từ 1 đến n).
Nếu có nhiều phân đoạn con có tổng bằng nhau, in ra phân đoạn con có chỉ số bắt đầu nhỏ nhất. Nếu vẫn còn nhiều đáp án, chọn phân đoạn con có độ dài ngắn nhất.
**Dữ liệu vào:**
- Dòng đầu tiên chứa số nguyên `n` (1 ≤ n ≤ 10^5): số lượng phần tử trong mảng.
- Dòng thứ hai chứa `n` số nguyên `a[1], a[2], ..., a[n]` (-10^9 ≤ a[i] ≤ 10^9): các phần tử của mảng.
**Dữ liệu ra:**
- Dòng đầu tiên in ra tổng lớn nhất của phân đoạn con.
- Dòng thứ hai in ra hai số nguyên `l` và `r` (1 ≤ l ≤ r ≤ n): chỉ số bắt đầu và kết thúc của phân đoạn con.
Ví dụ:
Input 1:
9
-2 1 -3 4 -1 2 1 -5 4
Output 1:
6
4 7
Bình luận