#747. Chọn vị trí xưởng cưa (SAWMILLS)

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

Trên một đường thẳng từ đỉnh núi xuống chân núi có trồng n cây cổ thụ. Chính quyền địa phương quyết định chặt hạ chúng. Để không lãng phí gỗ, sau khi chặt cây phải vận chuyển đến xưởng cưa.

Gỗ chỉ có thể được vận chuyển xuống phía dưới chân núi. Tại chân núi đã có một xưởng cưa. Ngoài ra, hai xưởng cưa mới sẽ được xây dựng trên đường núi. Bạn phải quyết định vị trí xây dựng hai xưởng cưa này sao cho tổng chi phí vận chuyển là nhỏ nhất. Giả sử chi phí vận chuyển mỗi kg gỗ đi mỗi mét là 1 xu.

Nhiệm vụ của bạn là viết chương trình đọc vào số lượng cây, trọng lượng và vị trí của chúng, sau đó tính toán chi phí vận chuyển tối thiểu.

Dữ liệu:

Dòng đầu tiên chứa một số nguyên dương n , biểu thị số lượng cây. Các cây được đánh số từ 1, 2, \dots, n theo thứ tự từ đỉnh núi xuống chân núi. n dòng tiếp theo, mỗi dòng chứa hai số nguyên w_i d_i . Lần lượt biểu thị trọng lượng (đơn vị kg) của cây thứ i và khoảng cách từ cây thứ i đến cây thứ i+1 . Số cuối cùng d_n biểu thị khoảng cách từ cây thứ n đến xưởng cưa ở chân núi.

Kết quả:

Xuất ra duy nhất một số, là chi phí vận chuyển nhỏ nhất.

Ví dụ:

Dữ liệu:

9
1 2
2 1
3 3
1 1
3 2
1 6
2 1
1 2
1 1

Kết quả:

26

Giới hạn:

  • Đối với 97 điểm dữ liệu: 2\le n\le 2\times 10^4, 1\le w_i\le 10^4, 0\le d_i\le 10^4 , đảm bảo tổng chi phí vận chuyển tất cả cây đến xưởng cưa ở chân núi nhỏ hơn 2\times 10^9 . (Phần dữ liệu này là dữ liệu gốc).
  • Đối với 3 điểm dữ liệu còn lại: 2\le n\le 2\times 10^5 , đảm bảo mọi tính toán đều có thể thực hiện trong phạm vi số nguyên có dấu 64-bit.