Giải toán
Xem dạng PDF
Gửi bài giải
Điểm:
16,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
Trong lớp có ~N~ học sinh tham gia giải toán, các bạn được đánh số thứ tự từ 1 đến ~N~. Mỗi người sẽ phải hoàn thành giải một bài toán, nhưng cũng có thể 2 bạn liền kề nhau cùng giải hai bài toán của 2 bạn. Biết ~a_i~ là thời gian cần thiết để bạn thứ ~i~ giải xong bài tập của mình. Nếu bạn ~i+1~ và bạn thứ ~i~ kết hợp để cùng nhau giải hai bài toán thì thì thời gian để hai bạn hoàn thành là ~b_i~.
Yêu cầu: Xác định xem những bạn nào cần kết hợp với bạn đứng trước cùng nhau giải bài tập để tổng thời gian làm bài của cả lớp là nhỏ nhất.
Dữ liệu vào:
- Dòng đầu tiên chứa số ~N~ (~1≤N≤10^5~).
- Dòng thứ hai ghi ~N~ số nguyên dương ~a_1, a_2, ..., a_N~. (~1 ≤ a_i ≤ 10^5~) là thời gian hoàn thanh bài tập của bạn thứ i
- Dòng thứ ba ghi ~N~ - 1 số nguyên dương ~b1, b2, ..., b_{N-1}~. (~1 ≤ b_i ≤ 10^5~) với bi là thời gian hoàn thành bài tập của bạn thứ ~i~ và ~i + 1~;
Dữ liệu ra:
- Dòng thứ nhất ghi số nguyên là tổng thời hoàn thành của cả lớp là nhỏ nhất.
- Dòng thứ hai ghi số thứ tự của các bạn cần kết hợp với bạn đứng trước để giải toán.
Ví dụ:
Input
5
1 2 3 4 5
1 2 3 4
Output
7
3 5
P/S: Giải thích
- Tổng thời gian nhỏ nhất để cả lớp hoàn thành là 7. Bạn thứ 3 và bạn thứ 5 cần kết hợp với bạn đứng liền trước để
Ràng buộc:
- 30% test có ~n ≤ 100~.
- 40% test có ~n ≤ 10^3~.
- 30% test có ~n ≤ 10^5~
Bình luận