Vòng hoa giấy
Đề bài
Mô tả
Bạn có tờ giấy màu, mỗi tờ có diện tích đúng mét vuông. Tờ giấy thứ có màu .
Bạn muốn làm một vòng hoa gồm đúng mảnh giấy, trong đó mảnh thứ phải có màu . Mỗi mảnh được cắt ra từ một tờ giấy có cùng màu với nó. Diện tích mỗi mảnh là một số thực dương tuỳ ý, nhưng bạn chỉ được cắt chứ không được dán ghép nhiều mảnh lại với nhau, nên diện tích một mảnh không thể vượt quá . Một tờ giấy có thể bị cắt thành bao nhiêu mảnh tuỳ ý, và bạn không bắt buộc phải dùng hết các tờ giấy đang có.
Hãy tính tổng diện tích lớn nhất của mảnh giấy trong vòng hoa, hoặc in ra nếu không thể làm được vòng hoa. Dữ liệu đảm bảo đáp án luôn là một số nguyên.
Dữ liệu vào
- Dòng đầu tiên chứa xâu gồm chữ cái latin thường, mô tả màu của các tờ giấy bạn đang có.
- Dòng thứ hai chứa xâu gồm chữ cái latin thường, mô tả màu của các mảnh giấy trong vòng hoa.
Dữ liệu ra
In ra một số nguyên duy nhất là tổng diện tích lớn nhất có thể đạt được, hoặc nếu không thể làm được vòng hoa.
Ràng buộc
- và chỉ gồm các chữ cái latin thường (từ "a" đến "z")
Ví dụ
| Input | Output | Giải thích |
|---|---|---|
| aaabbac aabbccac |
6 | Số tờ giấy theo màu: a có 4, b có 2, c có 1. Vòng hoa cần: a có 3, b có 2, c có 3. Dùng nguyên 3 tờ màu a và 2 tờ màu b (được ), rồi cắt tờ màu c duy nhất thành 3 mảnh (tổng diện tích ). Tổng cộng là . |
| a z |
-1 | Vòng hoa cần một mảnh màu z nhưng không có tờ giấy màu z nào. |
| stnsdn ndnndsn |
4 | Số tờ giấy: s có 1, t có 1, n có 2, d có 1. Vòng hoa cần: n có 4, d có 2, s có 1. Màu n chỉ có 2 tờ nên đóng góp tối đa , màu d đóng góp , màu s đóng góp . Tổng cộng là . |
Bình luận