Gửi bài giải

Điểm: 100,00
Giới hạn thời gian: 1.0s
Giới hạn bộ nhớ: 259M
Input: stdin
Output: stdout

Tác giả:
Dạng bài
Ngôn ngữ cho phép
C, C++

Nguồn đề: thầy Nguyễn Thanh Tùng

Nhà thi đấu đa năng của Trường đang được khởi công xây dựng. Kinh phí từ ngân sách cấp có hạn nên hạng mục đường chạy ở trước nhà thi đấu không được duyệt. Nhà trường quyết định kêu gọi phụ huynh và học sinh cùng các thầy cô đóng góp công sức để có một đường chạy hoàn hảo cho học sinh rèn luyện thể lực.

Đường chạy phải hoàn toàn bằng phẳng, mọi điểm trên đường phải có cùng độ cao (gọi là cùng một mặt thủy chuẩn). Địa hình đường chạy tương lai được chia thành n khúc đánh số từ 1 đến n, từ trái sang phải. Độ cao khúc thứ i so với độ cao mặt đường thiết kế là ~ h_i~ ,~ i = 1 ÷ n~. ~h_i > 0~ nghĩa là phải hớt đi khối lượng đất cao ~h_i~, ngược lại, nếu ~h_i~ < 0 – chổ trũng, cần lấp đất thêm vào để đạt độ bằng phẳng thiết kế. Đất hớt ở chổ cao có thể lấp vào các chổ trũng, việc này không có gì khó khăn. Việc cào thêm đất ở đâu đó lấp vào chổ trũng cũng nhẹ nhàng. Phần đất hớt còn thừa sẽ chuyển vào tôn nền cho nhà thi đấu. Đây là một công việc hết sức vất vả. Ai nhận thi công đoạn nào thì chỉ lấp các khúc trũng trong đoạn đảm nhiệm.

Với tinh thần “Đâu cần thanh niên có, đâu khó có thanh niên” các chi đoàn khối 11 xung phong đảm nhiệm thi công đoạn các khúc liên tục có phần đất dư thừa chuyển đi tôn nền là lớn nhất. Nếu có nhiều đoạn có cùng số đất dư thừa như nhau thì bạn sẽ chọn đoạn có độ dài lớn nhất, tức là nhiều khúc nhất. Nếu có nhiều đoạn cùng độ dài và cùng số đất dư thừa, đoạn trái nhất (có số thứ tự khúc đầu tiên của đoạn nhỏ nhất) sẽ được chọn. Đoàn trường đánh giá rất cao tinh thần của các bạn khối 11 vì vậy bổ sung thêm một quy tắc là nếu mọi khúc đều phải lấp thêm thì các bạn của chúng ta được chọn đoạn dài nhất và trái nhất đòi hỏi tổng số đất lấp thêm là ít nhất. Ví dụ, đường chạy được chia thành 11 khúc với độ cao tương ứng của các khúc là (5, -3, 4, -3, -5, 2, -1, 3, -2, 4, 2) Đoàn viên thanh niên khối 11 sẽ đảm nhiệm đoạn từ khúc 6 đến hết khúc 11 với số lượng đất chuyển đi tôn nền là 8.

Hãy xác định số đất các bạn khối 11 phải chuyển đi tôn nền, số thứ tự của khúc đầu và khúc cuối của đoạn được chọn.

Input:

Dòng đầu tiên chứa một số nguyên n ~(1 ≤ n ≤ 10^6)~,

Dòng thứ 2 chứa n số nguyên ~h_1, h_2, . . ., h_n (|h_i| ≤ 10^9, i = 1 ÷ n)~, các số ghi cách nhau một dấu cách.

Output:

Dòng đầu tiên chứa một số nguyên ans xác định số đất cần xử lý trong đoạn được chọn. ~ans ≥ 0~ chỉ số đất dư thừa cần chuyển đi, ~ans < 0~ – số đất cần lấp thêm, dòng thứ hai chứa 2 số nguyên ghi cách nhau một dấu cách xác định khúc đầu và khúc cuối của đoạn được chọn.

Imgur

Sample Input

11
5 -3 4 -3 -5 2 -1 3 -2 4 2

Sample Output

8
6 11

Bình luận

Hãy đọc nội quy trước khi bình luận.


Không có bình luận tại thời điểm này.