[Quảng Ninh - TS10 - 2025] Bài 4: Dãy con tăng

Xem dạng PDF

Gửi bài giải

Điểm: 30,00 (OI)
Giới hạn thời gian: 1.0s
Giới hạn bộ nhớ: 1G
Input: stdin
Output: stdout

Dạng bài
Ngôn ngữ cho phép
C, C++, Java, Output Only, Pascal, PyPy, Python, Scratch, TEXT

Cho dãy ~a~ gồm ~n~ số nguyên ~a_1, a_2, ..., a_n~.

Giá trị ~n~ được gọi là độ dài của dãy ~a~.

Dãy con của ~a~ là chính ~a~ hoặc là dãy nhận được từ dãy ban đầu bằng cách bỏ đi một số phần tử.

Dãy ~a~ được gọi là dãy không giảm nếu thỏa mãn: ~a_1 \le a_2 \le ... \le a_n~.

Ví dụ dãy: ~[2, 2, 4, 9, 3, 10]~ ta có một số dãy con như sau: ~[2, 2, 4, 10]~; ~[2, 9]~; ~[3, 2, 9, 10]~.

Trong đó, các dãy con ~[2, 2, 4, 10]~ và ~[2, 9, 10]~ được gọi là các dãy con không giảm.


Cho dãy ~a~ gồm ~n~ số nguyên, dãy ~b~ gồm ~m~ số nguyên. Dãy ~c~ được gọi là dãy con chung của hai dãy ~a~ và ~b~ nếu ~c~ vừa là dãy con của ~a~, vừa là dãy con của ~b~.

Ví dụ: Cho dãy ~a = (1, 2, 4, 9, 3)~ và dãy ~b = (0, 2, 15, 9)~. Dãy ~c = (2, 9)~ là một dãy con chung của hai dãy ~a~ và ~b~.

Yêu cầu: Cho hai dãy ~a~ và ~b~ chỉ chứa các số ~0~ và ~1~, dãy ~a~ có ~n~ phần tử, dãy ~b~ có ~m~ phần tử. Hãy xác định độ dài lớn nhất của dãy con chung không giảm của ~a~ và ~b~.

INPUT

Dòng đầu tiên chứa số nguyên dương ~n~ (~1 \le n \le 2 \times 10^5~) là số phần tử của dãy ~a~.

Dòng thứ hai chứa ~n~ số nguyên dương ~a_1, a_2, ..., a_n~ (~0 \le a_i \le 1~) là các phần tử của dãy ~a~.

Dòng thứ ba chứa số nguyên dương ~m~ (~1 \le m \le 2 \times 10^5~) là số phần tử của dãy ~b~.

Dòng thứ tư chứa ~m~ số nguyên dương ~b_1, b_2, ..., b_m~ (~0 \le b_i \le 1~) là các phần tử của dãy ~b~.

Dữ liệu đảm bảo luôn tồn tại dãy con chung.

OUTPUT

Độ dài lớn nhất của dãy con chung không giảm của hai dãy ~a~ và ~b~.

SAMPLE INPUT 1

7 
0 0 0 1 0 1 1
6
0 0 1 1 0 1

SAMPLE OUTPUT 1

5

Dãy con chung không giảm dài nhất là ~0, 0, 1, 1, 1~.

SAMPLE INPUT 2

10
0 0 0 1 1 1 0 1 0 0 
10
1 1 0 0 0 1 0 1 1 1

SAMPLE OUTPUT 2

7

SAMPLE INPUT 3

3
1 1 1
5
1 0 1 0 0

SAMPLE OUTPUT 3

2

SUBTASKS

Subtask Điểm Ràng buộc
1 ~25~ ~a_i = 1~, ~m, n \le 3000~.
2 ~25~ ~m = n~, ~a_i = b_i~
3 ~25~ ~m, n \le 3000~
4 ~25~ Không có ràng buộc gì thêm.

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.