Clue Contest 08 - Kỳ thi ClueCup

Xem dạng PDF

Gửi bài giải

Điểm: 70,00
Giới hạn thời gian: 2.0s
Giới hạn bộ nhớ: 1G
Input: stdin
Output: stdout

Tác giả:
Dạng bài
Ngôn ngữ cho phép
C, C++, Java, Pascal, PyPy, Python, Scratch, TEXT

Dựa trên một câu chuyện sắp có thật ...

Cuối cùng thì kỳ thi ClueCup - sự kiện lớn nhất trong năm của ClueOJ đã diễn ra thành công. Giờ là lúc tính toán kết quả và trao giải.

Trong kỳ thi này, các thí sinh được cung cấp ~26~ bài tập, đánh số từ ~A~ đến ~Z~ để làm trong 300 phút. Mỗi bài tập có điểm số tối đa là ~100~. Sau ~300~ phút, đã có ~n~ bài nộp được gửi về hệ thống. Bài nộp thứ ~i~ gồm ~4~ tham số:

  • ~name_i~ là xâu gồm tối đa ~10~ ký tự in thường, thể hiện tên người nộp.
  • ~prob_i~ là một chữ cái in hoa, thể hiện bài tập trong lần nộp này.
  • ~pen_i~ là một số nguyên tối đa ~299~, thể hiện penalty của bài này.
  • ~points_i~ là một số nguyên tối đa ~100~, thể hiện điểm của bài này.

Các thí sinh sẽ được sắp xếp từ trên xuống theo thứ tự ưu tiên sau:

  • Thí sinh nào có tổng điểm cao hơn sẽ xếp trên.
  • Nếu hai thí sinh bằng điểm nhau, thí sinh nào có tổng penalty (penalty chỉ xét các bài có điểm dương) nhỏ hơn sẽ xếp trên.
  • Nếu vẫn bằng nhau, ta coi hai thí sinh đó đồng hạng.

Điểm phạt, hay penalty của mỗi thí sinh sẽ được tính như sau:

  • Penalty của một bài, là ~pen_i~ của lần nộp đầu tiên đạt điểm số tối đa trong bài đó, cộng thêm ~20~ nhân với số lần nộp trước lần nộp đó.

Ví dụ, một thí sinh có các lần nộp với cặp tham số ~[pen, points]~ như sau: ~[2, 10], [24, 20], [44, 90], [51, 50]~ sẽ có penalty là ~44 + 2 \times 20 = 84~.

Kỳ thi năm nay có ~m~ thí sinh, và ClueOJ sẽ trao huy chương vàng cho ~\lceil \frac {m}{10} \rceil~ thí sinh có thứ hạng cao nhất, nhưng không quá ~36~ thí sinh. Tuy nhiên, nếu hai thí sinh đồng hạng, hai thí sinh đó hoặc đều được trao huy chương vàng, hoặc đều không được trao huy chương vàng.


Nếu bài toán chỉ dừng lại ở việc tìm ra các thí sinh được huy chương vàng, thì đây sẽ là bài cơ bản. Vì vậy, thử thách dành cho các bạn như sau:

Bạn có thể thay đổi số điểm của tối đa một bài nộp. Hãy in ra các thí sinh có thể giành huy chương vàng.

Input

Dòng đầu tiên chứa số nguyên dương ~n, m~ (~1 \le n, m \le 10^5~) thể hiện số bài nộp và số thí sinh.

~n~ dòng tiếp theo, mỗi dòng gồm:

  • Một xâu ~name_i~, có tối đa ~10~ ký tự in thường thể hiện tên của một thí sinh.
  • Một ký tự ~prob_i~, là chữ cái in hoa thể hiện bài tập của lần nộp này.
  • Một số nguyên ~pen_i~ (~0 \le pen_i \le 299~) thể hiện penalty của lần nộp này.
  • Một số nguyên ~points_i~ (~0 \le points_i \le 100~) thể hiện điểm của lần nộp này.

Dữ liệu đảm bảo ~pen_1 \le pen_2 \le ... \le pen_n~.

Output

Với mỗi thí sinh có thể được huy chương vàng, hãy in ra trên một dòng. Các thí sinh cần được in ra theo thứ tự từ điển.

Sample Input

9 5
huy A 1 30
huy A 9 100
huy A 11 40
quang A 12 0
quang B 17 0
minhpk C 22 100
duong D 25 90
duong E 55 5
trinm A 60 75

Sample Output

duong
huy
minhpk
quang

Có tối đa 1 huy chương vàng.

Nếu ta không thay đổi bài nộp nào, minhpk sẽ đạt huy chương vàng với ~100~ điểm và penalty ~22~.

Nếu ta thay đổi bài nộp đầu tiên, cho huy được ~100~ điểm, huy sẽ đạt huy chương vàng với ~100~ điểm và penalty ~1~.

Nếu ta thay đổi bài nộp thứ tư, cho quang được ~100~ điểm, quang sẽ đạt huy chương vàng với ~100~ điểm và penalty ~12~.

Nếu ta thay đổi bài nộp thứ tám, cho duong được ~15~ điểm, duong sẽ đạt huy chương vàng với ~105~ điểm.


Bình luận

Hãy đọc nội quy trước khi bình luận.


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