Tính tiền thưởng

View as PDF

Submit solution

Points: 1.00
Time limit: 1.0s
Memory limit: 64M
Input: stdin
Output: stdout

Author:
Problem type

Hiện tại cuộc thi "Hành trình chinh phục những vì sao" đã đến kỳ thứ 2, nhưng vì sợ các thí sinh còn bỡ ngỡ với cách tính tiền thưởng mới, nên BTC quyết định sẽ để các bạn tự tay tính tiền thưởng đển hiểu hơn về nó.

Dưới đây là chi tiết cách tính thưởng của cuộc thi:

  • Cuộc thi sẽ gồm n đội thi, cùng nhau giải k vấn đề trong h tiếng.
  • Mỗi vấn đề sẽ có cố định 200.000 tiền thưởng và chỉ chia cho các team giải được vấn đề đó.
  • Với mỗi vấn đề nếu đội thứ i giải đúng sẽ được ~p_i = (totalTime)/(t_i + 20*x_i)~ điểm. Trong đó:
    • ~t_i~: thời điểm đầu tiên làm đúng vấn đề đó của đội i.
    • ~x_i~: số lần làm sai vấn đề đó của đội i trước thời gian ~t_i~.
    • ~totalTime = h * 60~: tổng số phút diễn ra cuộc thi.
  • Sau cùng, với mỗi vấn đề, đội i sẽ nhận số tiền thưởng theo tỉ lệ là: ~ rate_i = p_i/\sum{p_i} ~.
  • Tổng số tiền thưởng của mỗi đội nhận được sẽ chỉ lấy phần nguyên để để dễ dàng quyết toán.

Từ cách tính thưởng trên, ta có thể hoàn toàn rút ra những kết luận:

  • Tỉ lệ của điểm càng cao thì tiền thưởng càng nhiều.
  • Điểm càng cao thì sẽ càng nhiều tiền thưởng.
  • Làm đúng càng sớm thì điểm nhận được càng cao.
  • Làm sai càng nhiều sẽ càng ít điểm.
  • Làm sai càng sớm thì tiền thưởng càng lỗ.
  • Vấn đề càng ít đội thi giải đúng thì tiền thưởng càng nhiều.

Dựa trên mô tả trên, hãy tính ra chính xác tổng số tiền thưởng của mỗi đội thi nhận được sau cùng dựa trên danh sách trạng thái nộp bài mà hệ thống ghi nhận khi cuộc thi kết thúc.

Input:

  • Dòng đầu tiên chứa ~4~ số nguyên dương lần lượt là ~n, k, h, q~ có ý nghĩa lần lượt là số lượng đội thi, số lượng vấn đề, tổng số giờ của cuộc thi và số trạng thái trong toàn bộ cuộc thi. (~n, k, h \leq 10, q \leq 1000~)
  • ~q~ dòng tiếp theo chứa ~4~ thành phần liên tiếp lần lượt là: ~t, p, ts, s~ để mô tả ~1~ trạng thái nộp bài giải được ghi nhận trong hệ thống.
  • Trong đó:
    • ~t~ : số thứ tự của đội thi. (~ 1 \leq t \leq n~)
    • ~p~ : số thứ tự của vấn đề mà đội thi ~t~ nộp bài giải. (~ 1 \leq p \leq k~)
    • ~ts~: thời điểm (tính theo phút) mà đội ~t~ nộp bài giải. (~0 \leq ts \leq totalTime~)
    • ~s~ : kết quả sau khi chấm của bài giải. (~ s \in \set{W, A}~) với ~W~ - nghĩa là ~WRONG\ ANSWER~ (bài giải đã sai) và ~A~ - nghĩa là ~ACCEPTED~ (bài giải đã đúng)
  • Đảm bảo mỗi đội sẽ không nộp quá một lời giải trong cùng một phút.

Output:

  • ~N~ dòng mà mỗi dòng chứa một số nguyên dương là tổng số tiền thưởng của đội thứ ~i~ nhận được sau khi tham gia cuộc thi.

Sample input:

2 2 2 5
1 1 20 W
2 2 30 A
2 1 40 W
1 1 60 A
1 2 90 A

Sample output:

250
150

Comments

Please read the guidelines before commenting.


There are no comments at the moment.