USACO 2022 - Paired Up

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

Có tổng cộng \(N\) con bò (\(1 \le N \le 5000\)) trên trục số, mỗi con thuộc giống Holstein hoặc Guernsey. Giống của con bò thứ \(i\) được cho bởi \(b_i \in \{H,G\}\), vị trí của nó được cho bởi \(x_i\) (\(0 \le x_i \le 10^9\)), và khối lượng của nó được cho bởi \(y_i\) (\(1 \le y_i \le 10^5\)).

Theo hiệu lệnh của Farmer John, một số con bò sẽ ghép thành các cặp sao cho:

  • Mỗi cặp gồm một con Holstein \(h\) và một con Guernsey \(g\) có khoảng cách giữa hai vị trí không vượt quá \(K\) (\(1 \le K \le 10^9\)), tức là \(|x_h-x_g| \le K\).
  • Mỗi con bò hoặc thuộc đúng một cặp, hoặc không thuộc cặp nào.
  • Cách ghép cặp là cực đại, tức là không có hai con bò chưa được ghép nào có thể tạo thành một cặp.

Bạn cần xác định phạm vi các giá trị có thể có của tổng khối lượng những con bò không được ghép cặp. Cụ thể:

  • Nếu \(T=1\), hãy tính tổng khối lượng nhỏ nhất có thể của những con bò không được ghép cặp.
  • Nếu \(T=2\), hãy tính tổng khối lượng lớn nhất có thể của những con bò không được ghép cặp.

Dữ liệu vào

Dòng đầu tiên chứa \(T\), \(N\)\(K\).

Với mỗi \(1 \le i \le N\), dòng thứ \(i\) trong \(N\) dòng tiếp theo chứa \(b_i,x_i,y_i\), tương ứng với con bò thứ \(i\). Dữ liệu bảo đảm \(0 \le x_1 < x_2 < \cdots < x_N \le 10^9\).

Dữ liệu ra

In ra tổng khối lượng nhỏ nhất hoặc lớn nhất có thể của những con bò không được ghép cặp, tùy theo giá trị của \(T\).

Phân nhóm

  • Các test 4–7 thỏa mãn \(T=1\).
  • Các test 8–14 thỏa mãn \(T=2\)\(N \le 300\).
  • Các test 15–22 thỏa mãn \(T=2\).

Lưu ý: Giới hạn bộ nhớ của bài này là 512 MB, gấp đôi giới hạn mặc định.

Ví dụ

Ví dụ 1

Input
2 5 4
G 1 1
H 3 4
G 4 2
H 6 6
H 8 9
Output
16
Giải thích

Hai con bò \(2\)\(3\) có thể ghép cặp vì khoảng cách giữa chúng là \(1\), không vượt quá \(K=4\). Cách ghép này là cực đại vì con bò \(1\), con Guernsey duy nhất còn lại, cách con bò \(4\) một khoảng \(5\) và cách con bò \(5\) một khoảng \(7\), đều lớn hơn \(K=4\). Tổng khối lượng của những con bò không được ghép cặp là \(1+6+9=16\).

Ví dụ 2

Input
1 5 4
G 1 1
H 3 4
G 4 2
H 6 6
H 8 9
Output
6
Giải thích

Hai con bò \(1\)\(2\) có thể ghép cặp vì khoảng cách giữa chúng là \(2 \le K=4\), và hai con bò \(3\)\(5\) có thể ghép cặp vì khoảng cách giữa chúng là \(4 \le K=4\). Cách ghép này là cực đại vì chỉ còn lại con bò \(4\). Tổng khối lượng của những con bò không được ghép cặp chính là khối lượng của con bò duy nhất còn lại, bằng \(6\).

Ví dụ 3

Input
2 10 76
H 1 18
H 18 465
H 25 278
H 30 291
H 36 202
G 45 96
G 60 375
G 93 941
G 96 870
G 98 540
Output
1893
Giải thích

Đáp án của ví dụ này là \(18+465+870+540=1893\).

Nguồn

USACO 2021 December Contest, Platinum — Paired Up. Tác giả: Benjamin Qi.

https://usaco.org/index.php?page=viewproblem2&cpid=1165

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: