Gửi bài giải
Điểm:
100,00 (OI)
Giới hạn thời gian:
1.0s
Giới hạn bộ nhớ:
256M
Input:
stdin
Output:
stdout
Dạng bài
Cho mảng ~A~ gồm ~N~ phần tử, mảng ~B~ gồm ~M~ phần tử. (~1 \le N, M \le 10^5~).
Hãy tạo ra một dãy không giảm: ~A_1 \le A_2 \le ... \le A_i \le B_j \le B_{j + 1} \le ... \le B_M~.
Lưu ý: Dãy bạn tạo là dãy gồm ~i~ phần tử đầu tiên của mảng ~A~ (~1 \le i \le N~) và ~j~ phần tử cuối của mảng ~B~ (~1 \le j \le M~).
Tìm dãy có kích thước lớn nhất.
Input
- Dòng đầu tiên ghi số nguyên dương ~N~.
- Dòng thứ hai ghi ~N~ số nguyên: ~A_1, A_2, ..., A_N~. ~(-10^9 \le A_i \le 10^9)~
- Dòng thứ ba ghi số nguyên dương ~M~.
- Dòng cuối cùng ghi ~M~ số nguyên: ~B_1, B_2, ..., B_M~. ~(-10^9 \le A_i \le 10^9)~
Output
- Gồm ~1~ dòng ghi số nguyên là kích thước lớn nhất trong các dãy tìm được.
Giới hạn
- 50% số test có ~N, M \le 10^3~
- 50% số test còn lại có ~N, M \le 10^5~
Ví dụ
Sample input
3
1 4 9
4
5 2 4 5
Sample output
4
Giải thích ví dụ
Có ~2~ dãy tìm được là:
~1~ ~2~ ~4~ ~5~
~1~ ~4~ ~4~ ~5~
Và hai dãy này đều có độ dài là ~4~.
Bình luận