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