Luyện tập STL - Sử dụng map, set, vector, pair
Đếm số lượng phần tử khác nhau
Nộp bàiPoint: 100
Cho một dãy số nguyên A gồm N phần tử. Hãy đếm xem trong dãy có bao nhiêu giá trị khác nhau.
- Input:
- Dòng đầu tiên là số nguyên N ~(1 \le N \le 2 \cdot 10^5)~.
- Dòng thứ hai gồm N số nguyên ~A_i~ ~(|A_i| \le 10^9)~.
- Output: Một số nguyên duy nhất là số lượng giá trị khác nhau.
Ví dụ:
- Input:
6 1 5 2 5 1 3
- Output:
4
Xếp hạng vận động viên
Nộp bàiPoint: 100
Có N vận động viên. Mỗi người có một ~id~ (số nguyên) và điểm số (số nguyên). Hãy sắp xếp các vận động viên theo thứ tự: Điểm số giảm dần, nếu điểm bằng nhau thì ~id~ nhỏ hơn xếp trước.
- Input:
- Dòng đầu chứa N (~1 \le N \le 10^5~).
- N dòng sau, mỗi dòng chứa ~id~ và ~point~ (~1 \le id, point \le 10^9~).
- Output: N dòng là ~id~ và ~point~ sau khi sắp xếp.
- Ví dụ:
- Input:
5 101 80 102 90 103 80 104 95 105 90
- Output:
104 95 102 90 105 90 101 80 103 80
Từ điển tần suất
Nộp bàiPoint: 100
Cho một đoạn văn gồm N từ. Hãy liệt kê các từ khác nhau xuất hiện trong đoạn văn và số lần xuất hiện của chúng theo thứ tự từ điển tăng dần của các từ.
- Input:
- Dòng đầu là N (~1 \le N \le 5 \cdot 10^4~).
- N dòng tiếp theo, mỗi dòng là một từ (chỉ gồm chữ cái thường, độ dài không quá 20).
- Output: Mỗi dòng gồm một từ và tần suất của nó.
Ví dụ:
- Input:
7 apple banana apple orange banana apple kiwi
- Output:
apple 3 banana 2 kiwi 1 orange 1
Cặp số có tổng bằng S
Nộp bàiPoint: 100
Cho mảng A gồm N số nguyên và một số nguyên S. Hãy đếm số lượng cặp chỉ số ~(i, j)~ sao cho ~i < j~ và ~A[i] + A[j] = S~.
- Input:
- Dòng 1: N và S (~1 \le N \le 10^5, |S| \le 10^9~).
- Dòng 2: N số nguyên ~A_i (|A_i| \le 10^9)~.
- Output: Một số nguyên duy nhất là số lượng cặp thỏa mãn.
- Ví dụ:
- Input:
5 8 1 3 5 5 7
- Output:
3
Số nhỏ nhất còn thiếu (MEX)
Nộp bàiPoint: 100
Cho mảng A có N phần tử. Với mỗi vị trí i từ 1 đến N, hãy tìm số nguyên dương nhỏ nhất không xuất hiện trong tập hợp các phần tử từ A[1] đến A[i].
- Input:
- Dòng 1: N ~(1 \le N \le 10^5)~
- Dòng 2: N số nguyên ~A_i~ (~1 \le A_i \le 10^9~).
- Output: N số nguyên tương ứng với kết quả tại mỗi bước, cách nhau bởi khoảng trắng.
Ví dụ:
- Input:
5 1 2 4 1 3
- Output:
2 3 3 3 5