trang chủ / đề bài / thhv19_ctn_11_a

Sắp lịch

Đề bài

Mô tả

Hai giáo sư X và Y cùng tham gia đợt tập huấn cho n lớp học (ta đánh số các lớp học từ 1 đến n). Thời gian cho một buổi học ở lớp thứ i là ai. Biết rằng:

  • Tại một thời điểm, mỗi giáo sư chỉ tập huấn cho một lớp và hai giáo sư làm việc độc lập (không có lớp học nào phải nghe cả hai giáo sư dạy tại cùng thời điểm).
  • Thời gian dạy cho lớp thứ i luôn là ai phút (dù người dạy là giáo sư X hay giáo sư Y).
  • Mỗi giáo sư phải dạy đủ n lớp học, không được bỏ qua lớp nào.

Mỗi buổi dạy diễn ra liên tục từ lúc bắt đầu đến lúc kết thúc. Hai giáo sư cùng bắt đầu ở thời điểm 0; mỗi giáo sư có thể nghỉ giữa các buổi dạy và dạy các lớp theo thứ tự tùy ý.

Yêu cầu: Hãy tính tổng thời gian ít nhất (tính từ thời điểm 0 đến khi cả hai giáo sư đều dạy xong) để cả hai giáo sư tập huấn cho cả n lớp học theo mô tả ở trên.

Dữ liệu vào

  • Dòng đầu ghi số n (1≤n≤300000).
  • Dòng tiếp theo ghi n số a1,a2,…,an với ai là thời gian học của lớp thứ i (0<ai≤300000).

Dữ liệu ra

Ghi ra một số duy nhất là tổng thời gian ít nhất để cả hai giáo sư hoàn thành bài giảng của mình cho cả n lớp.

Ràng buộc

  • 1≤n≤300000.
  • 0<ai≤300000.

Ví dụ

Input Output Giải thích
3
2 2 2
6 Giáo sư X dạy lần lượt các lớp 1,2,3. Giáo sư Y dạy theo thứ tự 3,1,2. Tổng thời gian để cả hai giáo sư hoàn thành bài giảng là 6.
1
5
10 Chỉ có một lớp: giáo sư X dạy trong [0,5], giáo sư Y phải chờ đến khi X dạy xong rồi dạy trong [5,10].
3
1 7 2
14 Giáo sư X dạy lớp 2 trong [0,7], rồi lớp 1, lớp 3 trong [7,10]. Giáo sư Y dạy lớp 1, lớp 3 trong [0,3], nghỉ, rồi dạy lớp 2 trong [7,14]. Không thể ít hơn vì lớp 2 cần 2·7 phút.

Bình luận

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

gnatmake 12.2.0 a68g 3.1.2 nasm 2.16.1 as_x64 2.47 awk 1.3.4 gcc 16.2.0 dotnet 10.0.402 g++ 16.2.0 g++-themis 16.2.0 g++17 16.2.0 g++20 16.2.0 g++23 16.2.0 clang++ 22.1.8 dmd 2.113.0 dart 3.13.6 gforth 0.7.3 gfortran 15.3.0 go 1.27.3 groovyc 5.1.3 javac 26.0.2.1 node 26.12.1 julia 1.13.2 kotlinc 2.4.21 lean 4.35.0 sbcl 2.2.9 lua 5.5.1 nim 2.2.12 fpc 3.2.2 fpc-themis 3.2.2 perl 5.42.3 php 8.5.12 pike 8.0 swipl 9.0.4 pypy3 7.3.23 python3 3.15.1 racket 8.7 ruby 4.0.8 rustc 1.99.1 csc 5.3.0 ctoj-scratch 0.0.1 sed 4.9 swiftc 6.4.1 tclsh 8.6 bun 1.4.4 deno 2.9.8 v 0.5.2 zig 0.17.0