Luyện tập mảng 12-03


Số nhỏ thứ k

Nộp bài
Điểm: 100 (p) Thời gian: 1.0s Bộ nhớ: 256M Input: bàn phím Output: màn hình

Cho một dãy gồm \(N\) số nguyên dương \(A_1, A_2,…, A_N\).(\(N ≤ 10^4, A_i ≤ 10^9\)) và số \(K\) (\(K ≤ N\)). Hãy in ra số nhỏ thứ \(K\) trong dãy.

Input

  • Dòng đầu chứa số \(N, K\),
  • Dòng thứ hai chứa \(N\) số nguyên dương \(A_1, A_2,…, A_N\).

Output

  • Một dòng chứa dãy số nhỏ thứ \(K\) trong dãy.

Example

Test 1

Input
6 4    
91 451 43 3 452 54 
Output
91

Số lớn thứ k

Nộp bài
Điểm: 100 (p) Thời gian: 1.0s Bộ nhớ: 256M Input: bàn phím Output: màn hình

Cho một dãy gồm \(N\) số nguyên dương \(A_1, A_2,…, A_N\).(\(N ≤ 10^4, A_i ≤ 10^9\)) và số \(K\) (\(K ≤ N\)). Hãy in ra số lớn thứ \(K\) trong dãy.

Input

  • Dòng đầu chứa số \(N, K\),
  • Dòng thứ hai chứa \(N\) số nguyên dương \(A_1, A_2,…, A_N\).

Output

  • Một dòng chứa dãy số lớn thứ \(K\) trong dãy.

Example

Test 1

Input
6 2    
91 451 43 3 452 54 
Output
451

Đếm số âm dương

Nộp bài
Điểm: 100 (p) Thời gian: 1.0s Bộ nhớ: 256M Input: bàn phím Output: màn hình

Cho dãy số \(A\) gồm \(N\) phần tử \(a_1,a_2,...,a_N\). Đếm số lượng số âm, số dương trong dãy số.

Input

  • Dòng đầu tiên gồm số nguyên dương \(N\) \((N \le 10^5)\);
  • Dòng thứ hai chứa \(N\) số nguyên \(a_1,a_2,..,a_N\) \((|a_i| \le 10^9)\)

Output

  • In ra số lượng số âm, số lượng số dương.

Example

Test 1

Input
5
-2 4 0 5 4 
Output
1 3

Vị trí số âm

Nộp bài
Điểm: 100 (p) Thời gian: 1.0s Bộ nhớ: 1G Input: bàn phím Output: màn hình

Nhập vào một dãy \(N\) số nguyên \(A_{1},A_{2},...,A_{N}\).

Hãy in ra màn hình chỉ số phần tử âm đầu tiên và cuối cùng.

Input

  • Dòng đầu tiên chứa số nguyên \(N\).
  • \(N\) dòng tiếp theo chứa \(N\) số nguyên \(A_{1},A_{2},...,A_{N}\).

Output

  • In ra chỉ số phần tử âm đầu tiên và cuối cùng, nếu ko có phần tử dương nào thì in ra \(2\) số \(−1 −1\).

Constraints

  • \(1 \leq n \leq 10000\)
  • \(|A_{i}| \leq 10^{9}\)

Example

Test 1

Input
7
7 -6 -4 19 -22 51 -82 
Output
2 7

Số lần xuất hiện 1

Nộp bài
Điểm: 100 (p) Thời gian: 0.1s Bộ nhớ: 650M Input: bàn phím Output: màn hình

Cho một dãy gồm \(n\) số nguyên dương \(A_1,A_2,\ldots,A_n\).

Yêu cầu: Hãy in ra tất cả các số trong mảng \(A\) cùng với số lần xuất hiện của chúng.

Input

  • Dòng đầu chứa số \(n\) (\(n\leq 10^5\)).
  • Dòng thứ hai chứa \(n\) số nguyên dương \(A_1,A_2,\ldots,A_n\) (\(A_i\leq 10^6\)).

Output

  • Gồm \(n\) dòng, mỗi dòng ghi số hạng thứ \(A_i\) và số lần xuất hiện của chúng.

Example

Test 1

Input
9
2 3 1 2 3 4 5 4 3
Output
2 2
3 3
1 1
2 2
3 3
4 2
5 1
4 2
3 3

Số lần xuất hiện 2

Nộp bài
Điểm: 100 (p) Thời gian: 0.1s Bộ nhớ: 256M Input: bàn phím Output: màn hình

Cho một dãy gồm \(n\) số nguyên dương \(A_1,A_2,\ldots,A_n\)..

Yêu cầu: Hãy in ra các phần tử của mảng theo thứ tự tăng dần cùng với số lần xuất hiện của chúng, các số trùng nhau thì chỉ ghi một lần.

Input

  • Dòng đầu chứa số \(n\) (\(n\leq 10^5\)).
  • Dòng thứ hai chứa n số nguyên dương \(A_1,A_2,\ldots,A_n\) (\(A_i\leq 10^6\)).

Output

  • Gồm \(n\) dòng, mỗi dòng ghi số hạng thứ \(A_i\) và số lần xuất hiện của chúng.

Example

Test 1

Input
9
2 3 1 2 3 4 5 4 3
Output
1 1
2 2
3 3
4 2
5 1

Đếm cặp đôi (HSG'20)

Nộp bài
Điểm: 100 (p) Thời gian: 1.0s Bộ nhớ: 977M Input: bàn phím Output: màn hình

Cho dãy số \(A\) gồm \(n\) phần tử nguyên dương \(A_1,A_2,…,A_n\). Mỗi phần tử có giá trị không vượt quá \(10^9\)\(n≤ 10^5\). Một cặp số được gọi là cặp tương đồng với \(x\), nếu cặp số này có tổng bằng số \(x\) cho trước nào đó.

Yêu cầu: Hãy đếm xem trong dãy số \(A\) có bao nhiêu cặp số (\(A_i;A_j\)) tương đồng với \(x\) (có nghĩa là \(A_i+ A_j=x\)) với \(i < j\).

Input

  • Dòng đầu tiên chứa dãy số \(n,x\) (\(n≤10^5,x≤10^6\)).
  • Dòng thứ 2 chứa \(n\) phần tử của dãy số \(A\) (\(A_i≤10^9\)).

Output

  • Ghi ra một số nguyên là cặp đôi tương đồng của dãy số.

Example

Test 1

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

Tích của số lớn nhất và nhỏ nhất của 2 mảng

Nộp bài
Điểm: 100 (p) Thời gian: 1.0s Bộ nhớ: 256M Input: bàn phím Output: màn hình

Cho mảng \(a\) gồm \(n\) phần tử và mảng \(b\) gồm \(m\) phần tử. Tìm tích giữa số lớn nhất trong mảng \(a\) và số nhỏ nhất trong mảng \(b\).

Input

  • Dòng đầu tiên là số lượng test case \(t\) \((1 \le t \le 100)\).
  • Mỗi test case gồm \(3\) dòng:

    • Dòng đầu tiên là \(n\)\(m\). \((1 \le n, m \le 10^6)\)
    • Dòng thứ \(2\) là các phần tử trong mảng \(a\). \((-10^9 \le a_i \le 10^9)\)
    • Dòng thứ \(3\) là các phần tử trong mảng \(b\). \((-10^9 \le b_i \le 10^9)\)

Output

  • Mỗi test case in kết quả trên một dòng.

Example

Test 1
Input
1
3 3
1 2 3
-2 3 4
Output
-6

Đếm số lần xuất hiện của phần tử trong mảng sắp xếp

Nộp bài
Điểm: 100 (p) Thời gian: 1.0s Bộ nhớ: 256M Input: bàn phím Output: màn hình

Cho số nguyên dương \(N\) và mảng \(A\) đã được sắp xếp tăng dần. Cho số nguyên \(X\). Hãy đếm số lần \(X\) xuất hiện trong mảng \(A\).

Input

  • Dòng đầu tiên đưa vào số lượng bộ test \(T\) (\(1 \leq T \leq 100\)).
  • Dòng đầu mỗi bộ test nhập vào số nguyên \(N\)\(X\) (\(1 \leq N \leq 10^3, 1 \leq X \leq 5000\)).
  • Dòng thứ hai mỗi bộ test nhập \(N\) số nguyên \(A_i\) (\(1 \leq i \leq N, 1 \leq A_i \leq 5000\)).

Output

  • In ra kết quả theo yêu cầu đề bài.

Example

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

Counting sort

Nộp bài
Điểm: 100 (p) Thời gian: 1.0s Bộ nhớ: 256M Input: bàn phím Output: màn hình

Sắp xếp mảng gồm \(n\) số nguyên chỉ bao gồm các số \(0, 1, 2\).

Input

  • Dòng đầu tiên là số lượng test case \(t\) \((t \le 100)\).
  • Mỗi test case gồm 2 dòng:
    • dòng đầu tiên là số lượng phần tử trong mảng \((1 \le n \le 1000)\).
    • Dòng thứ 2 là các phần tử trong mảng.

Output

  • In ra các phần tử trong dãy được sắp xếp tăng dần.

Example

Test 1
Input
2
5
1 1 0 0 2
6
1 1 1 0 0 2
Output
0 0 1 1 2 
0 0 1 1 1 2