[DSA T6 2024]. TEST 9. THAM LAM
Trailing zeros of array
Nộp bàiPoint: 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
Nhóm bạn thân thiện
Nộp bàiPoint: 100
Tại lớp học của 28Tech có N 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
Cửa hàng đồ chơi
Nộp bàiPoint: 100
Cửa hàng 28Toys có N đồ 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à N và K : 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
MEX
Nộp bàiPoint: 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
Cuộc phiêu lưu của Aladdin
Nộp bàiPoint: 300
Trong một thung lũng xa xôi, có một người anh hùng tên là Aladin đang bắt đầu cuộc hành trình mới. Aladin đã nhận được một bức thư từ vị vua của vương quốc lân cận, đề nghị giúp đỡ trong việc tăng giá trị của dãy số quý giá của vương quốc. Vương quốc đang đối diện với một thách thức kinh khủng - dãy số quý giá của họ đang dần mất đi giá trị. Aladin nhận thấy rằng có thể giúp đỡ, và anh ta quyết tâm đưa dãy số này trở lại vị thế của nó.
Dãy số này được cho bởi n số nguyên a1, a2, ... an, một số nguyên k và một số nguyên h. Mỗi thao tác, Aladin có thể chọn một số nguyên a[i] và tăng giá trị của nó lên 1 đơn vị. Nhiệm vụ của Aladin là tìm giá trị lớn nhất có thể của số lớn thứ h trong dãy sau khi thực hiện không quá k thao tác.
Hãy giúp Aladin hoàn thành nhiệm vụ và mang lại hạnh phúc cho vương quốc!
Đầu vào
Dòng đầu tiên chứa 3 số n, k, h lần lượt là số lượng phần tử trong dãy, số lượng thao tác tối đa và chỉ số của số cần tìm.
Dòng thứ 2 chứa n số nguyên a1, a2,... an
Giới hạn
1<=n<=2.10^5
1<=k<=10^9
1<=h<=n
Đầu ra
In ra màn hình một số nguyên duy nhất là giá trị lớn nhất của số lớn thứ h trong dãy sau khi thực hiện không quá k thao tác.
Ví dụ :
Input 01
5 2 3
1 2 3 4 5
Output 01
4
Giải thích :
Từ dãy ban đầu [1, 2, 3, 4, 5] Aladin có thể tăng a[3] lên 1 đơn vị ta được dãy [1, 2, 4, 4, 5], ở thao tác thứ 2 Aladin tăng a[5] lên 1 đơn vị ta được dãy [1, 2, 4, 4, 6]. Dãy mới có số lớn thứ 3 là 4.