FENSAKOR
Xem PDFTrò FENSAKOR trong Squareblox là một trò chơi sinh tồn nổi tiếng, trong đó có \(N\) người chơi là thường dân vô tội phải né tránh killer và sửa một cỗ máy thần kì nào đó.
Olliet là nhân vật "phế" nhất trong FENSAKOR. Nó chỉ có một tác dụng duy nhất là hồi máu, và nó không thể hồi cho chính nó. Nó hồi bằng một cách cực ảo ma America là ném pizza vào mặt người ta.
Ấy thế mà lại cùng chơi FENSAKOR. Trong khi chọn Shyledket thì (vì là một noobie boi và một người thích pizza) lại chọn Olliet.
Ván này có \(N\) người sống sót, trong đó người thứ \(i\) có chỉ số máu hiện tại là \(l_i\). Mỗi người có một chức năng hồi máu khác nhau:
- Olliet (O): hồi được tối đa \(a\) pizza, mỗi pizza hồi \(1\) HP.
- Shyledket (S): hồi được \(4\) HP cho chính mình, nhưng chỉ hồi được tối đa \(2\) lần.
- Time two (T): hồi được \(1\) HP mỗi lần đâm thẳng và \(2\) HP mỗi lần đâm lén. Đến đây đã đâm thẳng \(f\) lần và đâm lén \(b\) lần.
- Chance (C): có máu tối đa là \(h\).
- House constructor guy (H): hồi được cho tối đa \(r\) người, mỗi người \(1\) HP.
- Các chức vụ còn lại gồm Notpro (N), 006E7 (0), Guest 3667 (G), Doe Jane (D) không thể hồi máu.
Dù không biết chơi nhưng đã được sự chỉ giáo của chính trị gia kiêm admin LQDOJ , nên thừa biết rằng phải có càng nhiều người full HP càng tốt.
Hãy tính số người full HP lớn nhất có thể đạt được.
Input
- Dòng đầu tiên chứa sáu số nguyên \(N,a,f,b,h,r\).
- Dòng thứ hai chứa \(N\) số nguyên \(l_i\), trong đó \(l_i\) là lượng máu hiện tại của người thứ \(i\).
- Dòng thứ ba chứa \(N\) ký tự \(S_i\), trong đó \(S_i\) là chức vụ của người thứ \(i\).
Các chức vụ có thể xuất hiện:
O— Olliet.S— Shyledket.T— Time two.C— Chance.H— House constructor guy.N— Notpro.0— 006E7.G— Guest 3667.D— Doe Jane.
Output
In ra một số nguyên duy nhất — số người full HP lớn nhất có thể đạt được.
Ràng buộc
- \(1 \le N \le 2\cdot10^5\).
- \(1 \le l_i \le h \le 10^9\).
- \(0 \le a,f,b,r \le 10^9\).
- \(S_i\) chỉ có thể là một trong các ký tự
O,S,T,C,H,N,0,G,D. - Olliet có tối đa \(a\) pizza.
- Shyledket có thể sử dụng khả năng hồi máu tối đa \(2\) lần.
- Time two đã đâm thẳng \(f\) lần và đâm lén \(b\) lần.
- House constructor guy có thể hồi cho tối đa \(r\) người.
- Máu của một người không thể vượt quá \(h\).
- Không bắt buộc phải sử dụng toàn bộ khả năng hồi máu.
- Một người chỉ được tính là full HP khi lượng máu cuối cùng của người đó đúng bằng \(h\).
- Olliet không thể tự hồi máu cho chính mình.
- Shyledket chỉ có thể tự hồi máu cho chính mình.
Example
Test 1
Input
5 20 3 4 130 2
60 96 110 99 80
S O C T H
Output
3
Note
Có thể đạt full HP cho tối đa \(3\) người.
Một cách phân phối lượng hồi máu phù hợp sẽ đưa được \(3\) người lên đúng \(130\) HP.
Lưu ý rằng mục tiêu là tối đa hóa số người full HP, chứ không phải tối đa hóa tổng lượng HP của tất cả người chơi.
Bình luận (1)