10TT_Bài tập rèn luyện mảng một chiều và hai chiều

Giới hạn thời gian: 1.0s / Giới hạn bộ nhớ: 256M

Điểm: 100

Viết chương trình nhập vào ~n~ (~0 < n \le 100~) số nguyên ~a_1, a_2, \dots, a_n~(~|a_i| \le 10^9~). In ra giá trị nhỏ nhất trong ~n~ số nguyên đó

Input:

  • Dòng 1 ghi số nguyên dương ~n~.
  • Dòng 2 ghi ~n~ số nguyên cách nhau một dấu cách trống.

Output:

Đưa ra giá trị nhỏ nhất của ~n~ số nguyên

Ví dụ:

ptmin.inp
4
2 3 4 6
ptmin.out
2

Giới hạn thời gian: 1.0s / Giới hạn bộ nhớ: 256M

Điểm: 100

Viết chương trình nhập vào ~n~ số nguyên. In ra dãy số đó theo thứ tự ngược lại so với thứ tự lúc nhập.

Input

Vào từ file mangnguoc.inp:

  • Dòng đầu tiên ghi số nguyên không âm ~n~ (~0 < n \le 10^6~).
  • Dòng thứ hai ghi ~n~ số nguyên dương 32-bit, mỗi số cách nhau một dấu cách trống.

Output

Ghi ra file mangnguoc.out:

  • Dãy số theo thứ tự ngược lại, các số cách nhau bởi dấu cách.

Subtasks

  • Subtask 1: ~40%~ số test có ~n \le 10^3~;
  • Subtask 2: ~60%~ số test có ~n \le 10^6~.
Sample Input 1
5
-1 2 3 -4 5

Sample Output 1
5 -4 3 2 -1

Giải thích:

Dãy số ban đầu được nhập vào là ~-1, 2, 3, -4, 5~. Khi in ngược lại từ số cuối cùng lên số đầu tiên, ta thu được kết quả là ~5, -4, 3, 2, -1~.


Giới hạn thời gian: 1.0s / Giới hạn bộ nhớ: 256M

Điểm: 100

Viết chương trình nhập vào một dãy số ~a_1, a_2, \dots, a_n~. Tính tổng K phần tử cuối cùng của dãy.

Input:

  • Dòng 1 ghi số nguyên dương ~n~ (~n \le 10^5~) và số nguyên dương ~K~(~K \le 10^5~)
  • Dòng 2 ghi ~n~ số nguyên ~a_1, a_2, \dots, a_n~(~|a_i| \le 10^9~)

Output:

Ghi ra một dòng là kết quả tìm được

Ví dụ:

Kptu.inp
4 2
3 7 2 9
Kptu.out
11

Giới hạn thời gian: 1.0s / Giới hạn bộ nhớ: 256M

Điểm: 100

Cho số nguyên dương ~n~ (~n \le 10^5~) và ~n~ số nguyên dương kiểu 32 bit. In ra giá trị lẻ nhỏ nhất trong dãy số. Nếu không có số lẻ nào thì ghi ra -1

Input:

  • Dòng 1 ghi số nguyên dương ~n~
  • Dòng 2 ghi ~n~ số nguyên cách nhau một dấu cách trống

Output:

  • Đưa ra giá trị lẻ nhỏ nhất của ~n~ số nguyên. Nếu không có số lẻ nào thì ghi ra -1

Ví dụ:

lemin.inp
5
1 2 3 4 5
lemin.out
1

Giới hạn thời gian: 1.0s / Giới hạn bộ nhớ: 256M

Điểm: 100

Cho số nguyên dương ~n~ (~n \le 1000~) và ~n~ số nguyên dương kiểu 32 bit. In ra số lượng số chia hết cho 3 của ~n~ số nguyên đó

Input:

  • Dòng 1 ghi số nguyên không âm ~n~
  • Dòng 2 ghi ~n~ số nguyên dương cách nhau một dấu cách trống

Output:

  • Đưa ra số lượng các số chia hết cho 3

Ví dụ:

Div3.inp
4
2 3 4 7
Div3.out
1

Giới hạn thời gian: 1.0s / Giới hạn bộ nhớ: 256M

Điểm: 100

Đề bài

Viết chương trình nhập vào ~n~ (~0 < n \leq 100~) số nguyên. In ra tổng các giá trị tuyệt đối trong dãy số.

Input

  • Dòng đầu tiên ghi số nguyên không âm ~n~.
  • Dòng 2 ghi ~n~ số nguyên cách nhau một dấu cách trống.

Output

  • Đưa ra tổng các giá trị tuyệt đối của ~n~ số nguyên trong dãy.

Ví dụ

Sample Input
5
-1 2 3 4 5
Sample Output
15

Giới hạn

  • ~0 < n \leq 100~.

Giới hạn thời gian: 1.0s / Giới hạn bộ nhớ: 256M

Điểm: 100

Cho số nguyên dương ~n~ (~0 < n \le 100~) số nguyên và số nguyên ~X~. In ra số lượng số không nhỏ hơn ~X~ trong dãy số đó

Input:

  • Dòng 1 ghi số nguyên không âm ~n~ và số nguyên ~X~
  • Dòng 2 ghi ~n~ số nguyên dương cách nhau một dấu cách trống

Output:

  • Đưa ra số lượng các số không nhỏ hơn ~X~ trong dãy

Ví dụ:

notlessx.inp
10 5
1 2 3 4 5 6 7 8 9 10
notlessx.out
6

Giới hạn thời gian: 1.0s / Giới hạn bộ nhớ: 256M

Điểm: 100

Viết chương trình nhập vào ~n~ (~0 < n \le 100~) số nguyên. In ra số lượng số thuộc đoạn ~[500; 3000]~ trong dãy số

Input:

  • Dòng 1 ghi số nguyên không âm ~n~
  • Dòng 2 ghi ~n~ số nguyên dương cách nhau một dấu cách trống

Output:

  • Đưa ra số lượng các số thuộc đoạn ~[500; 3000]~ trong dãy số

Ví dụ:

thuocdoan.inp
5
501 1 4 600 200
thuocdoan.out
2

Giới hạn thời gian: 1.0s / Giới hạn bộ nhớ: 256M

Điểm: 100

Viết chương trình nhập vào một dãy gồm n số nguyên. In ra số lượng các số chẵn trong dãy.

Input:

  • Dòng 1 ghi số nguyên dương ~n~ (~n \le 1000~)
  • Dòng 2 ghi ~n~ số nguyên dương kiểu 64 bit cách nhau một dấu cách trống

Output:

Ghi ra số lượng các số chẵn trong dãy

Ví dụ:

demchan.inp
5
1 2 3 4 5
demchan.out
2

Giới hạn thời gian: 1.0s / Giới hạn bộ nhớ: 256M

Điểm: 100

Viết chương trình nhập vào ~n~ số nguyên. In ra số lượng số có hai chữ số trong dãy số

Input:

  • Dòng 1 ghi số nguyên không âm ~n~(~0 < n \le 1000~)
  • Dòng 2 ghi ~n~ số nguyên dương kiểu 64 bit cách nhau một dấu cách trống

Output:

  • Đưa ra số lượng số có hai chữ số trong dãy số

Ví dụ:

sl2cs.inp
10
34 2 1 54 78 99 24 3 0 1
sl2cs.out
5

Giới hạn thời gian: 1.0s / Giới hạn bộ nhớ: 256M

Điểm: 100

Cho số nguyên dương ~n~ (~0 < n \le 1000~) và ~n~ số nguyên dương kiểu 64 bit. Đưa ra giá trị nhỏ nhất có 2 chữ số của ~n~ số nguyên, nếu không có thì in ra -1

Input:

  • Dòng 1 ghi số nguyên dương ~n~
  • Dòng 2 ghi ~n~ số nguyên dương cách nhau một dấu cách trống

Output:

  • Đưa ra giá trị nhỏ nhất có 2 chữ số của ~n~ số nguyên, nếu không có thì in ra -1

Ví dụ:

min2cs.inp
4
2 32 4 64
min2cs.out
32

Giới hạn thời gian: 1.0s / Giới hạn bộ nhớ: 256M

Điểm: 100

Cho mảng hai chiều gồm n dòng, m cột (~1 \le n, m \le 100~). Giao của dòng i cột j là ô (i,j) chứa số nguyên có giá trị tuyệt đối ~\le 10^9~.

Yêu cầu: In ra các phần tử trên mảng hai chiều đã cho theo đúng định dạng.

Input:

  • Dòng đầu tiên chứa hai số nguyên ~n~ và ~m~
  • ~n~ dòng tiếp theo, mỗi dòng chứa ~m~ số nguyên, mỗi số cách nhau một dấu cách

Output:

Ghi ra mảng hai chiều đã cho

Ví dụ:

m2c.inp
2 3
1 3 5
2 4 6
m2c.out
1 3 5
2 4 6

Giới hạn thời gian: 1.0s / Giới hạn bộ nhớ: 256M

Điểm: 100

Cho mảng hai chiều gồm n dòng, m cột (~1 \le n, m \le 100~). Giao của dòng i cột j là ô (i,j) chứa số nguyên có giá trị tuyệt đối ~\le 10^9~.

Yêu cầu: Cho biết tổng giá trị của các phần tử trên mảng hai chiều đã cho.

Input:

  • Dòng 1 ghi hai số nguyên ~n~ và ~m~
  • ~n~ dòng tiếp theo, mỗi dòng chứa ~m~ số nguyên, mỗi số cách nhau một dấu cách

Output:

Ghi ra một số nguyên duy nhất là tổng của các phần tử trên mảng hai chiều đã cho

Ví dụ:

sum2c.inp
2 3
1 3 5
2 4 6
sum2c.out
21

Giới hạn thời gian: 1.0s / Giới hạn bộ nhớ: 256M

Điểm: 100

Cho mảng hai chiều gồm n dòng, m cột (~1 \le n, m \le 100~). Giao của dòng i cột j là ô (i,j) chứa số nguyên có giá trị tuyệt đối ~\le 10^9~.

Yêu cầu: Cho biết giá trị nhỏ nhất trên mảng hai chiều đã cho.

Input:

  • Dòng 1 ghi hai số nguyên ~n~ và ~m~
  • ~n~ dòng tiếp theo, mỗi dòng chứa ~m~ số nguyên, mỗi số cách nhau một dấu cách

Output:

Ghi ra một số nguyên duy nhất là giá trị nhỏ nhất trên mảng hai chiều đã cho

Ví dụ:

min2c.inp
2 3
1 3 5
2 4 6
min2c.out
1

Giới hạn thời gian: 1.0s / Giới hạn bộ nhớ: 256M

Điểm: 100

Cho mảng hai chiều gồm n dòng, m cột (~1 \le n, m \le 100~). Giao của dòng i cột j là ô (i,j) chứa số nguyên có giá trị tuyệt đối ~\le 10^9~.

Yêu cầu: Cho biết giá trị lớn nhất trên mảng hai chiều đã cho.

Input:

  • Dòng 1 ghi hai số nguyên ~n~ và ~m~
  • ~n~ dòng tiếp theo, mỗi dòng chứa ~m~ số nguyên, mỗi số cách nhau một dấu cách

Output:

Ghi ra một số nguyên duy nhất là giá trị lớn nhất trên mảng hai chiều đã cho

Ví dụ:

max2c.inp
2 3
1 3 5
2 4 6
max2c.out
6

Giới hạn thời gian: 1.0s / Giới hạn bộ nhớ: 256M

Điểm: 100

Cho mảng hai chiều gồm n dòng, m cột (~1 \le n, m \le 100~). Giao của dòng i cột j là ô (i,j) chứa số nguyên có giá trị tuyệt đối ~\le 10^9~.

Yêu cầu: Cho biết số lượng các phần tử có giá trị lẻ trên mảng hai chiều đã cho.

Input:

  • Dòng 1 ghi hai số nguyên ~n~ và ~m~
  • ~n~ dòng tiếp theo, mỗi dòng chứa ~m~ số nguyên, mỗi số cách nhau một dấu cách

Output:

Ghi ra một số nguyên duy nhất là số lượng phần tử có giá trị lẻ trên mảng hai chiều đã cho

Ví dụ:

demle.inp
2 3
1 3 5
2 4 6
demle.out
3

Giới hạn thời gian: 1.0s / Giới hạn bộ nhớ: 256M

Điểm: 100

Cho số nguyên dương ~N~ và dãy số ~A~ có ~N~ phần tử nguyên ~A_1, A_2, ..., A_N~ (~|A_i| \le 10^9, 1 \le N \le 10^5~). Độ lệch số của hai phần tử ~A_i, A_j~ (~1 \le i \le j \le N~) được xác định là ~|A_i - A_j|~. Hãy xác định số cách chọn cặp ~(i, j)~ sao cho độ lệch bằng ~K~.

Input:

  • Dòng 1 ghi hai số nguyên ~N, K~ (~1 \le N \le 10^5, 0 \le K \le 10^9~)
  • Dòng 2 ghi ~N~ số nguyên ~A_1, A_2, ..., A_N~ (~|A_i| \le 10^9~), mỗi số cách nhau một dấu cách

Output:

Ghi ra một số duy nhất là số cách chọn cặp thỏa mãn. Nếu không có cặp nào, ghi ra 0.

Ví dụ:

dolech.inp
5 10
2 -4 5 -5 -8
dolech.out
2

Giới hạn thời gian: 1.0s / Giới hạn bộ nhớ: 256M

Điểm: 100

Cho dãy số gồm ~N~ phần tử nguyên ~a_1, a_2, \dots, a_N~ (~1 \le N \le 10^3~) và số nguyên ~X~. Hãy đếm cặp số liên tiếp có tổng bằng ~X~.

Input:

  • Dòng 1 ghi số nguyên ~N~ và ~X~
  • Dòng 2 ghi ~N~ số nguyên ~a_1, a_2, \dots, a_N~

Output:

Ghi ra một số duy nhất là số cặp liên tiếp có tổng bằng ~X~

Ví dụ:

tongx.inp
5 7
6 1 9 -2 9
tongx.out
3

Giới hạn thời gian: 1.0s / Giới hạn bộ nhớ: 256M

Điểm: 100

Cho một dãy gồm n số nguyên ~a_1, a_2, \dots, a_n~. Viết chương trình tính tổng các số chẵn và các số lẻ của dãy số.

Input:

  • Dòng 1 ghi số nguyên dương ~n~ (~n \le 10^6~)
  • Dòng 2 ghi ~n~ số nguyên 32 bit cách nhau một dấu cách trống

Output:

  • Dòng 1 ghi tổng các số chẵn
  • Dòng 2 ghi tổng các số lẻ

Ví dụ:

sumcl.inp
6
2 4 1 3 5 2
sumcl.out
8
9

Giới hạn thời gian: 1.0s / Giới hạn bộ nhớ: 256M

Điểm: 100

Cho một dãy gồm n số nguyên ~a_1, a_2, \dots, a_n~. Viết chương trình đếm các số âm và các số dương của dãy số.

Input:

  • Dòng 1 ghi số nguyên dương ~n~ (~n \le 10^6~)
  • Dòng 2 ghi ~n~ số nguyên 32 bit cách nhau một dấu cách trống

Output:

  • Dòng 1 ghi số lượng các số âm
  • Dòng 2 ghi số lượng các số dương

Ví dụ:

slad.inp
8
2 -4 0 3 5 0 3 -5
slad.out
2
4

Giới hạn thời gian: 1.0s / Giới hạn bộ nhớ: 256M

Điểm: 100

Cho hai số nguyên a, b. Ta định nghĩa nếu a chia hết cho b thì b được gọi là ước của a.

Ví dụ: 3 là ước của 6 vì 6 chia hết cho 3.

Yêu cầu

Cho một dãy gồm n số nguyên ~a_1, a_2, \dots, a_n~ và một số nguyên x. Viết chương trình tính tổng các số là ước của số nguyên x ở trong dãy số đã cho.

Input:

  • Dòng 1 ghi số nguyên dương ~n~ (~n \le 10^5~) và số nguyên ~x~ (~x < 10^9~)
  • Dòng 2 ghi ~n~ số nguyên 32 bit cách nhau một dấu cách trống

Output:

Ghi ra một dòng là kết quả tìm được

Ví dụ:

sumuoc.inp
6 10
2 4 1 3 5 2
sumuoc.out
10

Giới hạn thời gian: 1.0s / Giới hạn bộ nhớ: 256M

Điểm: 100

Cho một dãy số nguyên gồm N phần tử không âm ~a_1, a_2, \dots, a_N~. K được gọi là số tiêu chuẩn nếu trong dãy A có ít nhất K số không nhỏ hơn K.

Input:

  • Dòng 1 ghi số nguyên ~N~ (~N \le 1000~)
  • Dòng 2 ghi ~N~ số nguyên ~a_i~ (~a_i \le 10^6~)

Output:

Ghi ra số tiêu chuẩn lớn nhất trong mảng A. Nếu không có số nào thì in ra 0.

Ví dụ:

sotc.inp
5
3 4 7 6 7
sotc.out
4

Giới hạn thời gian: 1.0s / Giới hạn bộ nhớ: 256M

Điểm: 100

Cho một dãy số nguyên gồm N phần tử không âm ~A_1, A_2, \dots, A_N~. K được gọi là số tiêu chuẩn nếu trong dãy A có ít nhất K số không nhỏ hơn K.

Input:

  • Dòng 1 ghi số nguyên ~N~ (~N \le 10^5~)
  • Dòng 2 ghi ~N~ số nguyên ~A_i~ (~A_i \le 10^6~)

Output:

Ghi ra số tiêu chuẩn lớn nhất trong mảng A. Nếu không có số nào thì in ra 0.

Ví dụ:

sotc2.inp
5
3 4 7 6 7
sotc2.out
4

Giới hạn thời gian: 1.0s / Giới hạn bộ nhớ: 256M

Điểm: 100

Bài: Thống kê độ tuổi

Mô tả

An đang thực hiện thu thập độ tuổi của tất cả người dân trong một làng nọ. Sau khi thu thập xong, An muốn biết trong ngôi làng này, hiện tại có bao nhiêu độ tuổi khác nhau.

Yêu cầu

Viết chương trình nhập vào một mảng gồm n số nguyên, được đánh số từ 1 đến n là số tuổi hiện tại của n người dân. Hãy đếm xem có bao nhiêu độ tuổi khác nhau của người dân ở trong làng đó.

Input

  • Dòng 1: số nguyên n (0 < n < 10⁶)
  • Dòng 2: n số nguyên a₁, a₂, ..., aₙ là độ tuổi của mỗi người dân trong làng (0 ≤ aᵢ ≤ 120)

Output

  • Một số nguyên là số lượng các độ tuổi khác nhau của người dân.

Ví dụ

tktuoi.inp tktuoi.out
5
1 23 56 1 23
3

Giải thích: có 3 độ tuổi khác nhau là: 1, 23, 56.

Ràng buộc

  • 50% số test có n ≤ 10⁴
  • 50% số test còn lại có n ≤ 10⁶

Giới hạn thời gian: 1.0s / Giới hạn bộ nhớ: 256M

Điểm: 100

Có một hòn đảo rất đẹp, thu hút nhiều khách du lịch đến thăm. Trên đảo có ~n~ người thuộc nhiều bộ tộc sinh sống. Dân cư trên đảo rất thân thiện. Mỗi người thuộc một bộ tộc nào đó. Trong đoàn du lịch có một nhà nhân chủng học. Tranh thủ dịp may được ghé thăm đảo, ông không bỏ phí thời gian tiến hành khảo sát. Ông gặp từng người một trên đảo với một câu hỏi duy nhất: Trên đảo, bộ tộc của bạn có bao nhiêu người?. Từ kết quả khảo sát, ông đã xác định được số bộ tộc khác nhau tồn tại trên đảo.

Ví dụ: với ~n = 10~ và các câu trả lời là ~5,1,2,5,5,2,5,5,2,2~ ta có thể suy ra là trên đảo có ~4~ bộ tộc khác nhau.

Yêu cầu

  • Cho ~n~ câu hỏi và các câu trả lời. Hãy xác định số bộ tộc trên đảo. Dữ liệu đảm bảo bài toán có nghiệm.

Input

  • Dòng 1 chứa số nguyên ~n~ (~1 ≤ n ≤ 100000~)
  • Mỗi dòng trong ~n~ dòng sau chứa một số nguyên, câu trả lời nhận được.

Output

  • Một số nguyên là số bộ tộc trên đảo.
Sample Input
10
5 1 2 5 5 2 5 5 2 2
Sample Output
4