[DSA T7 2024]. TEST 6. SẮP XẾP VÀ TÌM KIẾM

Cửa hàng đồ chơi

Nộp bài
Time limit: 1.0 / Memory limit: 256M

Point: 100

Cửa hàng 28ToysN đồ chơi được gán giá cho mỗi trò chơi được mô tả bằng mảng price[], trong đó price[i] đô la là giá của đồ chơi thứ i. Tèo là một học sinh lớp 6 mới mượn được mẹ K đô la, Tèo muốn sử dụng số tiền này một cách tối ưu bằng cách chọn số lượng đồ chơi lớn nhất có thể mua bằng K đô la. Bạn hãy giúp Tèo tìm số lượng đồ chơi tối đa mà Tèo có thể mua

Ví dụ price = [3, 10, 2, 1, 9, 20, 8] và K = 16 thì Tèo có thể mua tối đa 4 đồ vật là [3, 2, 1, 9]

Gợi ý : Sắp xếp tăng dần để lựa những đồ vật rẻ nhất và chọn ra những số đầu tiên có tổng <= K


Đầu vào

Dòng 1 là NK : số lượng đồ chơi và số tiền của Tèo

Dòng 2 gồm N số trong mảng price[] là giá triền các đồ chơi từ 1 tới N


Giới hạn

1<=N<=2.10^5

1<=K<=2.10^14

0<=A[i]<=10^9


Đầu ra

In ra số đồ chơi tối đa Tèo có thể mua


Ví dụ :

Input 01
7 16
3 10 2 1 9 20 8
Output 01
4

Nhóm bạn thân thiện

Nộp bài
Time limit: 1.0 / Memory limit: 256M

Point: 100

Tại lớp học của 28TechN bạn học sinh tham gia, 28Tech muốn chọn ra K bạn trong N bạn này để thành lập nhóm làm contest. Tuy nhiên 28Tech muốn độ chênh lệch trình độ của các bạn trong nhóm là nhỏ nhất có thể. Trong đó độ chênh lệch trình độ của nhóm bằng hiệu của bạn có trình độ lớn nhất và nhỏ nhất trong nhóm. Mỗi bạn tham gia lớp học tại 28Tech có trình độ tương đương với điểm số được cho trong mảng A[], A[i] là trình độ của bạn học sinh thứ i. Bây giờ bạn hãy tìm ra độ chênh lệch nhỏ nhất về trình độ của 1 nhóm làm contest.

Ví dụ A = [3, 9, 10, 20, 14, 7] và K = 3 thì sẽ chọn nhóm [7, 9, 10] có độ chênh lệch tối ưu là 3.

Gợi ý : Sắp xếp rồi xét các cửa sổ cỡ K


Đầu vào

Dòng 1 là N : số lượng học sinh và K

Dòng 2 gồm N số trong mảng A[] là trình độ của các bạn từ 1 tới N


Giới hạn

1<=N<=10^6

0<=A[i]<=10^6


Đầu ra

In ra kết quả tối ưu tìm được


Ví dụ :

Input 01
6 3
3 9 10 20 14 7
Output 01
3

Trailing zeros of array

Nộp bài
Time limit: 1.0 / Memory limit: 256M

Point: 100

Cho mảng A[] gồm N phần tử, gọi X là tích các phần tử trong mảng A[], bạn hãy xác định xem X có bao nhiêu chữ số 0 liên tiếp tính từ chữ số cuối cùng của X.

Ví dụ A = [2, 5, 10, 3, 1, 2], X = 600 sẽ có 2 chữ số 0 tận cùng tính từ cuối

Gợi ý : Tương tự như bài trailing zero, bạn cần phần tích thừa số nguyên tố của từng số trong mảng A[] để đếm số lần xuất hiện của số 2 và 5


Đầu vào

Dòng 1 là N

Dòng 2 gồm N số trong mảng A[]


Giới hạn

1<=N,M<=10^6

0<=A[i]<=10^6


Đầu ra

In ra đáp án của bài toán


Ví dụ :

Input 01
6
2 5 10 3 1 2
Output 01
2

Time limit: 1.0 / Memory limit: 256M

Point: 200

Cho mảng A[] gồm N phần tử, bạn hãy xác định số nguyên dương nhỏ nhất chưa xuất hiện trong mảng A[].


Đầu vào

Dòng 1 là N : số lượng phần tử trong mảng A[]

Dòng 2 là N số của mảng A[]


Giới hạn

1<=N<=10^6

0<=A[i]<=10^6


Đầu ra

In ra kết quả của bài toán


Ví dụ :

Input 01
6
1 2 3 7 8 10
Output 01
4

[Sắp Xếp - Tìm Kiếm]. Bài 59. Hình chữ nhật lồng nhau

Nộp bài
Time limit: 1.0 / Memory limit: 256M

Point: 250

28Tech cung cấp cho bạn N hình chữ nhật với chiều dài và chiều rộng là các số nguyên.

Bây giờ hình chữ nhật X sẽ lồng được vào trong hình chữ nhật Y nếu chiều dài của X nhỏ hơn chiều dài của Y và chiều rộng của X cũng nhỏ hơn chiều rộng của Y.

Bây giờ bạn hãy tìm số lượng hình chữ nhật lớn nhất có thể lồng vào nhau từ N hình chữ nhật đã cho

Ví dụ các HCN [2, 3], [5, 4], [6, 7], [6, 4], [8, 9] thì số HCN có thể lồng vào nhau tối đa là 4 gồm [2, 3], [5, 4], [6, 7], [8, 9]


Đầu vào

Dòng 1 là N : số lượng HCN

N dòng tiếp theo mỗi dòng là chiều rộng, dài của 1 HCN


Giới hạn

1<=N<=10^5

Chiều dài, rộng của HCN là số nguyên dương 32 bit


Đầu ra

In ra số lượng HCN lớn nhất có thể lồng vào nhau


Ví dụ :

Input 01
5
2 3
5 4
6 4
6 7
8 9
Output 01
4