FILLBLANK - Điền vào chỗ trống

Xem dạng PDF

Gửi bài giải

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

Tác giả:
Dạng bài
Ngôn ngữ cho phép
C, C#, C++, Go, Java, Pascal, Perl, PHP, Python, Ruby, Rust, Scratch, Swift

Cho ~N~ dòng, dòng thứ ~i~ chứa ~a_i~ ô trống. Và ~M~ xâu kí tự, xâu thứ ~j~ chứa 2^{b_j} kí tự.

Bạn cần điền các xâu kí tự vào trong ~N~ dòng sao cho:

  • Một dòng có thể chứa nhiều xâu. Nhưng một xâu chỉ được điền vào một dòng duy nhất.
  • Các kí tự của một xâu phải được điền vào một đoạn các ô trống liên tiếp.
  • Một ô trống chỉ được chứa một kí tự duy nhất.

Yêu cầu tìm số lượng xâu kí tự lớn nhất có thể điền.

Input

  • Gồm 3 dòng: dòng đầu chứa 2 số nguyên dương ~N~ và ~M~, hai dòng tiếp theo lần lượt chứahai dãy số nguyên ~a~ và ~b~.

Giới hạn:

  • ~N, M ≤ 106~
  • ~1 \le a_i \le 10^9~
  • ~1 \le 2^{b_j} \le 10^9~

Output

  • In ra số lượng xâu kí tự lớn nhất có thể điền được.

Sample

Input #1
5 3
8 4 3 2 2
3 2 2
Output #1
2
Input #2
10 6
1 1 1 1 1 1 1 1 1 1
0 0 0 0 0 0
Output #2
6

Problem source: Kc97ble - Free Contest


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.