FENSAKOR

Xem PDF



Tác giả:
Dạng bài
Ngôn ngữ cho phép
Assembly, Awk, C, C#, C++, Clang, Cobol, D, Groovy, Haskell, JS, Java, Kotlin, Lua, Node JS, OCaml, ObjectiveC, Output, PHP, Pascal, Perl, Prolog, Pypy, Pypy 3, Python, Ruby, Rust, Scala, Scratch, Swift
Điểm: 1200 Thời gian: 1.0s Bộ nhớ: 256M Input: bàn phím Output: màn hình

Trò 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à p2a1TranHuuDucTri lại cùng p2a1TongVanBao chơi FENSAKOR. Trong khi p2a1TongVanBao chọn Shyledket thì p2a1TranHuuDucTri (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 p2a1TranHuuDucTri đã được sự chỉ giáo của chính trị gia kiêm admin LQDOJ doangiaphuc13, 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)

Mới nhất
Tải bình luận...