USACO 2012 - Umbrellas for Cows

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: 1400 (p) Thời gian: 4.0s Bộ nhớ: 512M Input: bàn phím Output: màn hình

Hôm nay trời mưa! \(N\) (\(1 \le N \le 5\,000\)) chú bò của Nông dân John, được đánh số từ \(1\) đến \(N\), đặc biệt không thích bị ướt. Những chú bò đang đứng trong các ô chuồng không có mái che, được sắp xếp trên một trục số. Các ô chuồng có tọa độ \(X\) từ \(1\) đến \(M\) (\(1 \le M \le 100\,000\)). Chú bò \(i\) đứng trong ô chuồng tại tọa độ \(X_i\) (\(1 \le X_i \le M\)). Không có hai chú bò nào đứng chung một ô chuồng.

Để bảo vệ đàn bò khỏi mưa, Nông dân John muốn mua ô cho chúng. Một chiếc ô phủ từ tọa độ \(X_i\) đến \(X_j\) (\(X_i \le X_j\)) có chiều rộng \(X_j-X_i+1\). Chi phí để mua một chiếc ô có chiều rộng \(W\)\(C_W\) (\(1 \le C_W \le 1\,000\,000\)). Ô lớn hơn không nhất thiết đắt hơn ô nhỏ hơn.

Hãy giúp Nông dân John tìm chi phí nhỏ nhất để mua một tập hợp ô che mưa cho mọi chú bò. Lưu ý rằng các chiếc ô trong một phương án tối ưu có thể chồng lấn lên nhau một phần.

Dữ liệu vào

  • Dòng đầu tiên chứa hai số nguyên cách nhau bởi dấu cách: \(N\)\(M\).
  • \(N\) dòng tiếp theo; dòng thứ \(i\) chứa một số nguyên duy nhất \(X_i\).
  • \(M\) dòng tiếp theo; dòng thứ \(j\) chứa một số nguyên duy nhất \(C_j\).

Dữ liệu ra

  • Dòng đầu tiên chứa một số nguyên duy nhất là chi phí nhỏ nhất cần thiết để mua ô cho tất cả những chú bò.

Ví dụ

Ví dụ 1

Input
6 12
1
2
11
8
4
12
2
3
4
4
8
9
15
16
17
18
19
19
Output
9
Giải thích

\(12\) ô chuồng, và các ô chuồng \(1\), \(2\), \(4\), \(8\), \(11\)\(12\) có bò. Một chiếc ô che một ô chuồng có giá \(2\), một chiếc ô che hai ô chuồng có giá \(3\), và cứ tiếp tục như vậy.

Bằng cách mua một chiếc ô kích thước \(4\), một chiếc ô kích thước \(1\) và một chiếc ô kích thước \(2\), có thể che mưa cho tất cả những chú bò với chi phí \(4+2+3=9\):

UUUUUUUUUU           U        UUUU
C  C     C           C        C  C
|--|--|--|--|--|--|--|--|--|--|--|
1  2  3  4  5  6  7  8  9  10 11 12

C biểu diễn một chú bò và U biểu diễn một phần của chiếc ô.

Nguồn

USACO 2011 December Contest, Silver Division — Umbrellas for Cows

Tác giả đề: Alex Chen, 2011.

Bình luận (4)

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

Kỳ thi: