Mảng đánh dấu 7
Liệt kê các giá trị khác nhau theo thứ tự xuất hiện (mảng đánh dấu)
Nộp bàiPoint: 1
Có mảng số nguyên A gồm N phần tử, hãy liệt kê các phần tử khác nhau trong mảng theo thứ tự xuất hiện trong mảng A.
Ràng buộc: ~1 <= N <= 1000; 0 <= A[i] <= 10^6~
Input:
5
1 1 2 2 3
Output:
1 2 3
Thu thập số (sắp xếp - tìm kiếm)
Nộp bàiPoint: 1
Bạn được cung cấp một mảng chứa các số từ 1 đến n, mỗi số chỉ xuất hiện đúng 1 lần. Nhiệm vụ của bạn là thu thập các số từ 1 đến n theo thứ tự tăng dần. Trên mỗi vòng bạn đi qua mảng từ trái sang phải và thu thập càng nhiều số càng tốt. Tổng số vòng sẽ là bao nhiêu.
Định dạng đầu vào: Dòng đầu tiên có số nguyên n. Dòng tiếp theo có n số nguyên x1, x2, ..., xn là các số trong mảng.
Ràng buộc: ~1 \leq n \leq 2.10^5~
Định dạng đầu ra: In một số nguyên là số vòng
Input 01:
5
4 2 1 5 3
Output 01:
3
Giải thích: Vòng 1 chọn số 1, vòng 2 chọn số 2 và 3, vòng 3 chọn số 4 và 5. Ở mỗi vòng bạn chọn số x nếu như tất cả các số từ 1 đến x - 1 được chọn trước đó rồi. Mỗi vòng bạn có thể chọn nhiều số cùng 1 lúc
Input 02:
8
2 1 8 5 4 7 6 3
Output 02:
6
Đếm số lượng cặp số bằng nhau trong mảng (mảng đánh dấu)
Nộp bàiPoint: 1
Cho dãy số A[] gồm có N phần tử, nhiệm vụ của bạn là đếm số lượng cặp số bằng nhau trong mảng.
Định dạng đầu vào: Dòng đầu tiên là số nguyên N. Dòng tiếp theo gồm N số nguyên A[i]
Ràng buộc: 1≤ N ≤ 10^6; 1 ≤ A[i] ≤ 10^6
Định dạng đầu ra: In ra số lượng cặp số bằng nhau trong mảng, không xét đến thứ tự.
Input:
6
2 2 1 3 2 3
Output:
4
Số bị lặp đầu tiên (mảng đánh dấu)
Nộp bàiPoint: 1
Cho mảng các số nguyên. Tìm phần tử lặp đầu tiên trong mảng.
Định dạng đầu vào: Dòng đầu tiên là số lượng phần tử trong mảng n. Dòng thứ 2 là các phần tử ai trong mảng.
Ràng buộc: 1≤n≤1000000; 0≤ai≤10^6
Định dạng đầu ra: In ra số bị lặp đầu tiên trong mảng, nếu không có số nào bị lặp in ra -1.
Input:
5
1 2 2 3 1
Output:
2
Đếm các phần tử khác nhau trong mảng (set)
Nộp bàiPoint: 1
Đếm số lượng phần tử khác nhau trong mảng số nguyên
Định dạng đầu vào: Dòng đầu tiên là số lượng Test T (1 <= T <= 100)
Mỗi test case bao gồm 2 dòng, dòng đầu tiên là số lượng phần tử trong mảng (1≤n≤1000)
Dòng thứ 2 bao gồm n phần tử trong mảng (0 ≤ ai ≤ 10^6)
Định dạng đầu ra: In ra số lượng phần tử khác nhau trong mảng.
Input:
2
5
1 2 2 2 1
4
1 2 3 4
Output:
2
4
Tần suất lớn nhất 1
Nộp bàiPoint: 1
Cho mảng các số nguyên. Thực hiện tìm số có số lần xuất hiện nhiều nhất trong mảng, trong trường hợp có nhiều số có cùng số lần xuất hiện thì lấy số có giá trị nhỏ hơn.
Định dạng đầu vào:
- Dòng đầu tiên là số lượng phần tử trong mảng n. (1≤n≤10000).
- Dòng thứ 2 là các phần tử ai trong mảng . (0≤ai≤10^6).
Định dạng đầu ra: In ra số có số lần xuất hiện nhiều nhất và số lần xuất hiện của nó
Input:
10
1 2 3 3 3 3 9 9 9 9
Output:
3 4
Tần suất lớn nhất 2
Nộp bàiPoint: 1
Cho mảng các số nguyên. Thực hiện tìm số có số lần xuất hiện nhiều nhất trong mảng, trong trường hợp có nhiều số có cùng số lần xuất hiện thì lấy số xuất hiện trước trong mảng.
Đầu vào:
- Dòng đầu tiên là số lượng phần tử trong mảng n. (1≤n≤10000).
- Dòng thứ 2 là các phần tử ai trong mảng . (0≤ai≤10^6).
Đầu ra: In ra số có số lần xuất hiện nhiều nhất và số lần xuất hiện của nó
Input:
10
1 2 9 9 9 9 3 3 3 3
Output:
9 4
ezarr13
Nộp bàiPoint: 1
Nhập vào dãy N phần tử. Có M truy vấn, mỗi truy vấn có dạng x: xóa phần tử thứ x trong mảng ban đầu.
Đầu vào:
Dòng đầu tiên chứa số nguyên dương N và số nguyên M (1 <= N <= 10^4, 1 <= M <= 100)
Dòng tiếp theo chứa N số nguyên ai (|ai| <= 10^9)
M dòng sau, mỗi dòng chứa số nguyên x - vị trí phần tử trong dãy cần xóa.
Đầu ra:
Với mỗi truy vấn, in ra mảng trên một dòng.
Input:
5 3
1 -8 -1 2 9
1
5
3
Output:
-8 -1 2 9
-8 -1 2
-8 2
Chia kết K số
Nộp bàiPoint: 1
Cho dãy n số nguyên dương P = (P1, P2,..., Pn) và một số nguyên k.
Hãy xác định xem trong đoạn [a, b] có bao nhiêu số nguyên chia hết cho đúng k số trong dãy số nguyên p?
Đầu vào:
Dòng đầu tiên chứa hai số nguyên n và k (1 ≤ n ≤ 10^5, 0 ≤ k <n)</p>
Dòng thứ hai chứa n số nguyên dương P1,P2,..., Pn (1 ≤ Pi ≤ 10^9)
Dòng thứ ba chứa hai số nguyên a và b (1 ≤ a ≤ b ≤ 10^9,b - a ≤ 10^5)
Đầu ra: Ghi ra một số nguyên duy nhất là kết quả tìm được
Input:
2 1
2 3
1 10
Output:
6
Input:
2 1
2 2
1 10
Output:
0
Quán cà phê Học Công Nghệ
Nộp bàiPoint: 1
Sau khi bán hết sách, HCN chuyển sang mở một quán cà phê.
Qua thăm dò, HCN đã biết trước ngày khai trương sẽ có n khách, khách thứ i sẽ vào thời điểm hi. Để phục vụ lượng khách đến dồn dập, quán cà phê có thuê thêm một số nhân viên ưu tú. Mỗi nhân viên có thể hoạt động không ngừng nghỉ, mỗi lần chỉ phục vụ một khách trong đúng 1 đơn vị thời gian.
Nhưng nếu một vị khách tới mà không nhận được sự phục vụ ngay thì sẽ lập tức bỏ đi.
Ví dụ, một vị khách đến ở thời điểm 5, thì nhân viên sẽ phục vụ xong cho vị khách đó ở thời điểm 6 và tiếp tục phục vụ luôn khách tiếp theo (nếu có).
Hãy giúp HCN tìm ra số lượng nhân viên cần thuê ít nhất mà vẫn đảm bảo tất cả các khách đều được phục vụ.
Input:
• Dòng đầu tiên chứa số nguyên dương n (n ≤ 10^5).
• Dòng tiếp theo chứa n số nguyên dương h1, h2, h3, ..., hn tương ứng với thời điểm khách đến (hi ≤ 10^5).
Output:
In ra số lượng nhân viên ít nhất cần thuê.
Input:
4
1 10 45 10
Output:
2