#740. Sắp xếp nhiệm vụ 2 (Mã bài: BATCH)

Bộ nhớ: 512 MiB Thời gian: 1000 ms Nhập/xuất từ luồng chuẩn
Kiểu bài: Thông thường Kiểu chấm: So sánh văn bản
Đưa lên bởi: Trùm CUỐI

Đề bài

N nhiệm vụ được sắp xếp thành một dãy chờ thực hiện trên một máy, thứ tự của chúng không được thay đổi. Máy sẽ chia N nhiệm vụ này thành một số lô (batch), mỗi lô bao gồm các nhiệm vụ liên tiếp nhau. Bắt đầu từ thời điểm 0 , các nhiệm vụ được gia công theo từng lô. Thời gian cần thiết để thực hiện nhiệm vụ thứ i T_i . Ngoài ra, trước khi bắt đầu mỗi lô nhiệm vụ, máy cần thời gian khởi động là S . Do đó, thời gian cần thiết để thực hiện một lô nhiệm vụ là thời gian khởi động S cộng với tổng thời gian thực hiện của từng nhiệm vụ trong lô đó.

Sau khi một nhiệm vụ được thực hiện xong, nó sẽ chờ trong máy cho đến khi toàn bộ nhiệm vụ trong cùng lô đó hoàn thành. Nghĩa là, các nhiệm vụ trong cùng một lô sẽ hoàn thành tại cùng một thời điểm. Chi phí của mỗi nhiệm vụ được tính bằng thời điểm hoàn thành của nó nhân với một hệ số chi phí C_i .

Hãy lập kế hoạch phân nhóm cho máy sao cho tổng chi phí là nhỏ nhất.

Dữ liệu:

  • Dòng đầu tiên chứa số nguyên N .
  • Dòng thứ hai chứa số nguyên S .
  • N dòng tiếp theo, mỗi dòng chứa một cặp số nguyên dương T_i C_i , lần lượt biểu thị thời gian cần thiết để hoàn thành riêng nhiệm vụ thứ i và hệ số chi phí C_i của nó.

Kết quả:

  • Một số duy nhất là tổng chi phí nhỏ nhất.

Ví dụ:

Dữ liệu:

5
1
1 3
3 2
4 3
2 3
1 4

Kết quả:

153

Giới hạn: 1\le N\le 10^4, 0\le S\le 50, 1\le T_i, C_i\le 100 .