IOI 2002 - Batch Scheduling

Xem PDF



Dạng bài
Ngôn ngữ cho phép
Assembly, Awk, C, C#, C++, Clang, Cobol, D, Groovy, Haskell, JS, Java, Kotlin, Lua, Node JS, OCaml, ObjectiveC, PHP, Pascal, Perl, Prolog, Pypy, Pypy 3, Python, Ruby, Rust, Scala, Scratch, Swift
Điểm: 1800 (p) Thời gian: 0.1s Bộ nhớ: 32M Input: bàn phím Output: màn hình

\(N\) công việc cần thực hiện trên một máy theo thứ tự từ \(1\) đến \(N\). Bạn chia dãy công việc thành các lô không rỗng; mỗi lô gồm một đoạn công việc liên tiếp. Máy xử lý các lô theo thứ tự của chúng.

Máy bắt đầu hoạt động tại thời điểm \(0\). Trước khi xử lý mỗi lô, máy cần một khoảng thời gian chuẩn bị bằng \(S\), rồi xử lý lần lượt các công việc trong lô. Công việc \(i\) cần thời gian xử lý \(T_i\). Ngay khi toàn bộ lô đã xử lý xong, máy đưa ra đồng thời kết quả của tất cả công việc trong lô. Vì vậy, nếu lô gồm các công việc \(x,x+1,\ldots,x+k\) bắt đầu tại thời điểm \(t\), thời điểm đưa ra kết quả của mỗi công việc trong lô là \(t+S+T_x+T_{x+1}+\cdots+T_{x+k}\). Gọi thời điểm đưa ra kết quả của công việc \(i\)\(O_i\). Công việc này có hệ số chi phí \(F_i\) và chi phí \(O_iF_i\).

Hãy tìm cách chia lô để tổng chi phí của tất cả công việc nhỏ nhất.

Dữ liệu vào

  • Dòng đầu chứa \(N\), với \(1\le N\le 10000\).
  • Dòng thứ hai chứa \(S\), với \(0\le S\le 50\).
  • Mỗi dòng trong \(N\) dòng tiếp theo chứa \(T_i,F_i\) của công việc \(i\), với \(1\le T_i,F_i\le 100\).

Trong mỗi bộ kiểm tra, tổng chi phí của bất kỳ cách chia lô nào cũng không vượt quá \(2^{31}-1\).

Dữ liệu ra

In một số nguyên là tổng chi phí nhỏ nhất.

Chấm điểm

Có 20 bộ kiểm tra, mỗi bộ tương ứng 5 điểm trong thang điểm gốc 100. Một bộ kiểm tra chỉ được điểm khi kết quả đúng và chương trình chạy trong giới hạn thời gian; ngược lại được 0 điểm.

Ví dụ

Ví dụ 1

Input
2
50
100 100
100 100
Output
45000

Ví dụ 2

Input
5
1
1 3
3 2
4 3
2 3
1 4
Output
153
Note

Với \(N=5\), \(S=1\), thời gian xử lý lần lượt là \(1,3,4,2,1\) và hệ số chi phí là \(3,2,3,3,4\), ta có thể chia thành các lô \(\{1,2\}\), \(\{3\}\), \(\{4,5\}\). Thời điểm đưa ra kết quả là \(5,5,10,14,14\). Chi phí tương ứng là \(15,10,30,42,56\), tổng cộng \(153\). Cách chia này đạt tổng chi phí nhỏ nhất.

Nguồn

Đề gốc IOI 2002. Tài liệu kỳ thi.

Tệp

Bình luận

Mới nhất
Tải bình luận...

Không có bình luận nào.

Kỳ thi: