Thứ Bảy, 30 tháng 7, 2016

Laddu

Bạn hẳn đã nghe về hệ thống phân phối kẹo mới của chúng tôi, với tên gọi “hệ thống cộng dồn kẹo”. Vấn đề này sẽ giúp bạn có một cái nhìn thoáng qua về nó. Bạn có thể đọc về nó ở trang một trước khi giải quyết bài tập này nếu bạn muốn, tất nhiên ở đây chúng tôi vẫn sẽ cung cấp đủ các thông tin về nó.
Hệ thống cộng dồn kẹo là một chương trình mới của chúng tôi. Trong chương trình này, chúng tôi sẽ phân phối kẹo cho các vị trí trong các cuộc thi mà bạn đạt được (được mô tả ở dưới), mà bạn thực hiện trên hệ thống của chúng tôi.
Bây giờ chúng tôi cho bạn biết về các hoạt động khác nhau và số lượng kẹo bạn sẽ nhận khi tham gia chúng:
·         Chiến thắng cuộc thi (CodeChef’s Long, Cook-Off, LTIME, hay bất cứ cuộc thi nào của chúng tôi): 300+ phần thưởng (phần thường=20-vị trí của bạn trên bảng xếp hạng). Nếu vị trí của bạn lớn hơn 20, bạn sẽ không được nhận phần thường
·         Top đóng góp: 300
·         Người tìm lỗi trong code: 50->1000, tùy thuộc vào mức độ nghiêm trọng của lỗi.
·         Người tạo cuộc thi: 50
Bạn dùng kẹo này để đổi lấy quà, mỗi tháng một lần. Số kẹo để đổi lấy quà trên thực tế là 200 cho người Ấn Độ và 400 cho người nước khác.
Bạn đang đưa ra lịch sử các hoạt động của người dùng. Biết ban đầu người dùng không có bất cứ viên kẹo nào. Tính số quà lớn nhất và người dùng có thể đổi được.
Input
·         Số nguyên T, số test đề bài
·         T bộ test tiếp theo có dạng:
·         Dòng đầu tiên là activities, origin, với activities là số lượng hoạt động của người dùng, origin là người Ấn Độ hoặc không phải người Ấn Độ.
·         activities dòng tiếp theo , mỗi dòng thuộc 1 trong 4 loại sau:
o   Contest Win : Input sẽ có: CONTEST_WON rank, với rank là thứ hạng của người dùng
o   Top Contributor : Input có: TOP_CONTRIBUTOR.
o   Bug Finder : Input có: BUG_FOUND severity, với severity là mức độ nghiêm trọng của vấn đề
o   Contest Hosting : Input có: CONTEST_HOSTED.
Output
Với mỗi bộ test, in ra trên mỗi dòng là số quà tối đa đổi được
Constraints
·                     1 ≤ T, activities ≤ 100
·                     1 ≤ rank ≤ 5000
·                     50 ≤ severity ≤ 1000
Subtasks:
Chỉ có duy nhất một subtask với 100 điểm.
Example
Input:
2
4 INDIAN
CONTEST_WON 1
TOP_CONTRIBUTOR
BUG_FOUND 100
CONTEST_HOSTED
4 NON_INDIAN
CONTEST_WON 1
TOP_CONTRIBUTOR
BUG_FOUND 100
CONTEST_HOSTED
Output:
3
1
Giải thích:
Trong test đầu tiên
Đứng đầu cuộc thi , người dùng nhận 300 + 20 - 1 = 319 kẹo.
Top đóng góp, người dùng nhận 300 kẹo.
Tìm lỗi với mức độ nghiêm trọng là 100, người dùng nhận 100 kẹo.
Tổ chức cuộc thi, người dùng nhận 50 kẹo.
Tổng cộng người dùng thu được319 + 300 + 100 + 50 = 769 kẹo.
Và người dùng là người Ấn Độ, anh ta có thể đổi 200 kẹo để lấy quà mỗi tháng. Vì vậy, trong ba tháng đầu tiên anh ta đổi 3 món quà mất 200*3=600 kẹo, còn dư lại 169 kẹo, anh ta không thể đổi lấy được món quà thứ 4.
Vậy, kết quả là 3
Trong test thứ 2, người dùng không phải người Ấn Độ, anh ta có thể đổi 400 kẹo lấy quà mỗi tháng. Vì vậy, trong tháng đầu tiên, anh ta đổi mất 400 kẹo và còn dư 369 kẹo, và anh ta không thể đổi lấy món quà nào nữa.

Vì vậy, kết quả là  1.