#1663. CHI PHÍ PHỦ NHỎ NHẤT (MINCOST)

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

Cho một tập hợp gồm n vật phẩm. Mỗi vật phẩm i ( 1 \le i \le n ) được đặc trưng bởi hai thông tin:

  1. Một số nguyên dương c_i : Chi phí để sở hữu vật phẩm.
  2. Một chuỗi ký tự S_i : Tập các thuộc tính mà vật phẩm đó sở hữu. Chuỗi S_i chỉ chứa tối đa 3 loại ký tự thuộc tập \{\text{'A', 'B', 'C'}\} , các ký tự trong S_i không trùng lặp và không nhất thiết phải theo thứ tự.

Nhiệm vụ của bạn là chọn ra một tập con các vật phẩm sao cho hợp tất cả các chuỗi S_i của các vật phẩm được chọn chứa đầy đủ cả 3 ký tự 'A', 'B' và 'C', đồng thời tổng chi phí \sum c_i là nhỏ nhất.

Dữ liệu:

  • Dòng đầu tiên chứa số nguyên n ( 1 \le n \le 10^5 ).
  • n dòng tiếp theo, mỗi dòng chứa một số nguyên c_i ( 1 \le c_i \le 10^5 ) và một chuỗi S_i ( 1 \le |S_i| \le 3 ).

Kết quả:

  • In ra một số nguyên duy nhất là tổng chi phí nhỏ nhất tìm được. Nếu không có cách nào để thu thập đủ cả 3 loại thuộc tính, in ra -1 .

Ví dụ:

Dữ liệu:

4
5 C
6 B
16 ABC
2 A

Kết quả:

13

Giải thích:

  • Có hai phương án khả thi:
    1. Chọn vật phẩm thứ 3 (có đủ 'A', 'B', 'C') với chi phí: 16 .
    2. Chọn vật phẩm thứ 1, 2 và 4 để có đủ {'C', 'B', 'A'} với chi phí: 5 + 6 + 2 = 13 .
  • Chi phí nhỏ nhất là 13 .

Dữ liệu:

3
10 A
11 AA
13 AB

Kết quả:

-1

Giới hạn:

  • Subtask #1 (10% số điểm): n \le 20 .
  • Subtask #2 (15% số điểm): Độ dài |S_i| = 1 với mọi i ( 1 \le i \le n ).
  • Subtask #3 (20% số điểm): n \le 100 .
  • Subtask #4 (25% số điểm): n \le 2000 .
  • Subtask #5 (30% số điểm): Không có ràng buộc bổ sung ( n \le 10^5 ).