Bảy anh hùng

Đề bài

Mô tả

Bảy anh hùng mang tên Anka, Chapay, Cleo, Troll, Dracul, Snowy và Hexadecimal chuẩn bị tiêu diệt ba con trùm. Ba con trùm cho lần lượt a, b và c điểm kinh nghiệm.

Bảy anh hùng phải chia thành ba đội, đội thứ nhất đi diệt con trùm cho a điểm, đội thứ hai diệt con trùm cho b điểm, đội thứ ba diệt con trùm cho c điểm. Mỗi anh hùng thuộc đúng một đội, và cả ba con trùm đều phải bị tiêu diệt nên không đội nào được rỗng (một đội có thể chỉ gồm một anh hùng, vì mỗi anh hùng đủ sức hạ một con trùm một mình).

Nếu một đội gồm y người đi diệt con trùm cho x điểm kinh nghiệm thì mỗi thành viên của đội nhận được ⌊x/y⌋ điểm kinh nghiệm.

Các anh hùng không muốn ai tủi thân, nên họ muốn chênh lệch giữa số điểm kinh nghiệm lớn nhất và nhỏ nhất mà một anh hùng nhận được là nhỏ nhất có thể.

Ngoài ra, một số anh hùng quý mến người khác. Quan hệ quý mến là một chiều: p quý mến q không có nghĩa là q quý mến p, và không ai tự quý mến mình. Tổng độ quý mến của một cách chia là số cặp có thứ tự (p,q) sao cho p và q ở cùng một đội và p quý mến q. Nếu p và q quý mến lẫn nhau và ở cùng đội thì cặp này được tính hai lần, là (p,q) và (q,p).

Trong số các cách chia đạt chênh lệch kinh nghiệm nhỏ nhất, hãy tìm cách chia có tổng độ quý mến lớn nhất.

Dữ liệu vào

  • Dòng đầu tiên chứa số nguyên n là số quan hệ quý mến.
  • n dòng tiếp theo, mỗi dòng có dạng p likes q, nghĩa là anh hùng p quý mến anh hùng q. Mỗi quan hệ xuất hiện đúng một lần trong dữ liệu vào.
  • Dòng cuối cùng chứa ba số nguyên a, b, c cách nhau bởi dấu cách.

Dữ liệu ra

In ra hai số nguyên cách nhau bởi dấu cách: chênh lệch kinh nghiệm nhỏ nhất giữa anh hùng nhận nhiều nhất và anh hùng nhận ít nhất, và tổng độ quý mến lớn nhất đạt được trong các cách chia có chênh lệch nhỏ nhất đó.

Ràng buộc

  • 0≤n≤42
  • 1≤a,b,c≤2·109
  • Tên anh hùng luôn thuộc tập bảy tên nêu trên, và p≠q.

Ví dụ

Input Output Giải thích
3
Troll likes Dracul
Dracul likes Anka
Snowy likes Hexadecimal
210 200 180
30 3 Đội 1 gồm Dracul, Troll, Anka (mỗi người ⌊210/3⌋=70), đội 2 gồm Hexadecimal, Snowy (mỗi người ⌊200/2⌋=100), đội 3 gồm Cleo, Chapay (mỗi người ⌊180/2⌋=90). Chênh lệch là 100−70=30. Cả ba quan hệ quý mến đều nằm trong cùng đội nên tổng độ quý mến là 3.
2
Anka likes Chapay
Chapay likes Anka
10000 50 50
1950 2 Đội 2 và đội 3 mỗi đội chỉ một người (cùng nhận 50 điểm), năm người còn lại vào đội 1 và nhận ⌊10000/5⌋=2000 điểm. Chênh lệch là 2000−50=1950. Xếp cả Anka lẫn Chapay vào đội 1 thì hai quan hệ quý mến qua lại được tính hai lần, cho tổng độ quý mến là 2.
0
100 300 600
50 0 Chia theo kích thước 1, 2, 4 cho ba đội: mỗi người nhận lần lượt 100, ⌊300/2⌋=150 và ⌊600/4⌋=150 điểm, chênh lệch 50. Không có quan hệ quý mến nào nên tổng độ quý mến bằng 0.

Bình luận

Không có bình luận tại thời điểm này.

gnatmake 12.2.0 a68g 3.1.2 nasm 2.16.1 as_x64 2.47 awk 1.3.4 gcc 16.2.0 dotnet 10.0.402 g++ 16.2.0 g++-themis 16.2.0 g++17 16.2.0 g++20 16.2.0 g++23 16.2.0 clang++ 22.1.8 dmd 2.113.0 dart 3.13.6 gforth 0.7.3 gfortran 15.3.0 go 1.27.3 groovyc 5.1.3 javac 26.0.2.1 node 26.12.1 julia 1.13.2 kotlinc 2.4.21 lean 4.35.0 sbcl 2.2.9 lua 5.5.1 nim 2.2.12 fpc 3.2.2 fpc-themis 3.2.2 perl 5.42.3 php 8.5.12 pike 8.0 swipl 9.0.4 pypy3 7.3.23 python3 3.15.1 racket 8.7 ruby 4.0.8 rustc 1.99.1 csc 5.3.0 ctoj-scratch 0.0.1 sed 4.9 swiftc 6.4.1 tclsh 8.6 bun 1.4.4 deno 2.9.8 v 0.5.2 zig 0.17.0