You are on page 1of 2

BÀI TẬP QHĐ 01

D1. Chia quà (chiaqua.pas)

Trong đợt tặng quà cứu trợ của trường THPT Chuyên Lương Văn Tụy cho
các trường trong khu vực miền Trung bị ảnh hưởng nặng nề của bão lũ vừa qua
sau khi lên dự kiến phát quà xong thì nhà trường nhận thấy là còn dư ra n phần
quà sau khi cân nhắc nhà trường quyết định xin danh sách các học sinh học sinh
học giỏi có nhiều thành tích và đang gặp khó khăn để trao tiếp các phần quà và
động viên tinh thần học tập của các em. Theo danh sách đó các em xếp từ trên
xuống dưới là các em theo mức độ thành tích và điều kiện giảm dần. Cách trao
quà như sau các bạn xếp sau trong danh sách có số phần quà ≤ số phần quà của
bạn đứng trước.

Yêu cầu: em hãy tính giúp nhà trường xem có bao nhiêu phương án để trao
n phần quà đó cho m bạn học sinh. (M,N<=100).

chiaqua.inp chiaqua.out
N M Kết quả
Ví dụ:
7 4 11
D3. C21_ Dãy con chung tăng dài nhất(T.Bình)

(lcis.*, lcis.inp, lcis.out)

Một dãy số a1, a2, ..., an được gọi là dãy tăng dần nếu như ai<ai+1 với mọi
i<n.

Một dãy s1, s2, ..., sk được gọi là dãy con của dãy a1, a2, ..., an nếu tồn tại một tập
a =s
các chỉ số 1≤i1<i2<...<ik≤n thỏa mãn i j j . Nói cách khác, dãy số s nhận được
từ việc loại bỏ đi một số phần tử của dãy a.

Cho hai dãy số nguyên, bạn hãy tìm dãy con chung tăng dài nhất của chúng.

Input:

 Dòng đầu tiên ghi số nguyên N là số phần tử của dãy thứ nhất (1≤N≤500)
 Dòng thứ hai ghi N số nguyên thể hiện các phần tử trong dãy số thứ nhất.
Các số nằm trong khoảng [1,109].
 Dòng thứ ba ghi số nguyên M là số phần tử của dãy thứ hai (1≤M≤500)
 Dòng thứ tư ghi M số nguyên thể hiện các phần tử trong dãy thứ hai. Các số
nằm trong khoảng [1,106].
Output:Một số nguyên duy nhất là số phần tử của dãy con chung tăng dài nhất
tìm được

Example:

Input Output
7 3
2 3 1 6 5 4 6
4
1 3 5 6
5 2
1 2 0 2 1
3
1 0 1

You might also like