Gửi bài giải

Điểm: 50,00 (OI)
Giới hạn thời gian: 1.0s
Giới hạn bộ nhớ: 512M

Tác giả:
Dạng bài

Năm nay, lần đầu tiên Eurokod được tổ chức — một cuộc thi quốc tế về viết code đẹp và dễ đọc!

Có ~n~ thí sinh tham gia cuộc thi, được đánh số từ ~1~ đến ~n~, mỗi người đã viết một đoạn code.

Các đoạn code được đánh giá bởi một hiệp hội các nhà khoa học máy tính. Hiệp hội gồm một chủ tịch và các thành viên. Chủ tịch cho điểm theo một cách, còn các thành viên cho điểm theo một cách khác.

Điểm của chủ tịch:

Chủ tịch sẽ xếp hạng các đoạn code từ đẹp nhất đến kém đẹp nhất (theo ý ông ấy). Đoạn code đứng đầu được ~n~ điểm, mỗi đoạn tiếp theo được ít hơn đoạn trước ~1~ điểm.

Điểm của các thành viên hiệp hội:

Mỗi thành viên hiệp hội bỏ phiếu cho đoạn code mà mình cho là đẹp nhất. Sau khi tất cả thành viên đã bỏ phiếu, các đoạn code được xếp theo thứ tự giảm dần của số phiếu nhận được. Đoạn code nhiều phiếu nhất được ~n~ điểm, mỗi đoạn tiếp theo được ít hơn đoạn trước ~1~ điểm.

Tổng điểm:

Tổng điểm của mỗi đoạn code bằng tổng số điểm do chủ tịch và số điểm do các thành viên hiệp hội cho.

Nhiệm vụ của bạn là in ra thứ tự các đoạn code theo chiều giảm dần của tổng điểm.

Nếu nhiều đoạn code có cùng tổng điểm thì đoạn được xếp trên là đoạn giành được nhiều điểm hơn từ các thành viên hiệp hội.

Dữ liệu vào

  • Dòng đầu tiên chứa một số nguyên ~n~ — số thí sinh.
  • Dòng thứ hai chứa ~n~ số nguyên ~a_i~, trong đó số thứ ~i~ là nhãn của đoạn code mà chủ tịch xếp thứ ~i~. Thứ tự xếp hạng của chủ tịch được cho từ đẹp nhất đến kém đẹp nhất, và chứa mọi nhãn từ ~1~ đến ~n~ đúng một lần.
  • Dòng thứ ba chứa ~n~ số nguyên ~b_i~, trong đó số thứ ~i~ là số phiếu mà đoạn code thứ ~i~ nhận được từ các thành viên hiệp hội. Không có hai đoạn code nào nhận cùng số phiếu.

Kết quả

In ra ~n~ dòng — bảng xếp hạng các đoạn code theo chiều giảm dần của tổng điểm.

Mỗi dòng có dạng [hạng]. Kod[nhãn] ([số điểm]), trong đó [hạng] là hạng của đoạn code, [nhãn] là nhãn của đoạn code viết dưới dạng hai chữ số có thêm số ~0~ ở đầu nếu cần, và [số điểm] là tổng điểm của đoạn code.

Ví dụ, nếu hạng nhất thuộc về đoạn code có nhãn ~3~ với ~12~ điểm thì dòng đầu tiên là 1. Kod03 (12).

Ví dụ

Đầu vào:

3
1 2 3
50 10 20

Đầu ra:

1. Kod01 (6)
2. Kod03 (3)
3. Kod02 (3)

Giải thích: Kod03 và Kod02 có cùng tổng điểm, nhưng Kod03 nhận được nhiều phiếu hơn từ các thành viên hiệp hội nên được xếp trên.

Giới hạn

  • ~1 \le n \le 50~
  • ~1 \le a_i \le n~
  • ~0 \le b_i \le 200~

Dãy ~a~ là một phép hoán vị của ~1..n~, và không có hai đoạn code nào nhận cùng số phiếu.

Subtask Điểm Ràng buộc thêm
1 17 Với mỗi đoạn code, số phiếu nhận được từ các thành viên hiệp hội bằng số điểm do các thành viên hiệp hội cho, và không có hai đoạn code nào có cùng tổng điểm
2 19 Không có hai đoạn code nào có cùng tổng điểm
3 14 Không có ràng buộc thê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.