Kiểm tra đầu vào lớp ôn luyện chuyên tin

Unique (mảng 1 chiều cơ bản)

Nộp bài
Time limit: 1.0 / Memory limit: 256M

Point: 1

Cho máng A[] gồm N phân tử, nhiệm vụ của bạn là xóa các phần tứ trong mảng sao cho không có 2 phần tử liền kề có giá trị giống nhau. Ví dụ mảng A: = {1, 1, 2, 2, 2, 3, 3, 2, 1, 4} sau khi xóa sẽ được Al] = {1, 2, 3, 2, 1, 4}


Định dạng đầu vào:

Dòng 1 gồm N

Dòng 2 gồm N số của mảng A[]


Ràng buộc:

1<=N<=1000

0<=A[i]<=100


Định dạng đầu ra: In ra mảng sau khi xóa


Input:
11
2 3 3 0 0 0 3 3 3 3 4
Outptu:
2 3 0 3 4

Xoay trái (mảng 1 chiều cơ bản)

Nộp bài
Time limit: 1.0 / Memory limit: 256M

Point: 1

Cho mảng A[] gồm N phần tử, hãy dịch các phần tử trong mảng sang trái K vị trí, khi dịch trái thì phần tử đầu tiên của dãy sẽ quay vòng lại trở thành phần tử cuối cùng.


Định dạng đầu vào:

Dòng 1 gồm N và K

Dòng 2 gõm N số của mảng A[]


Ràng buộc:

1<=N<=1000

1<=K<=1000

0<=A[i]<=100


Định dạng đầu ra: In ra mắng sau khi xoay trái


Input:
8 6
16 66 96 73 11 13 99 82
Output:
99 82 16 66 96 73 11 13

Đếm chẵn lẻ

Nộp bài
Time limit: 1.0 / Memory limit: 256M

Point: 1

Cho mảng số nguyên A[] gồm N phần tử, nhiệm vụ của bạn là đếm xem trong mảng có bao nhiêu số chẵn, bao nhiêu số lẻ, tổng các phần tử là số chẵn, tổng các phần tử là số lẻ.


Định dạng đầu vào: Dòng đầu tiên là số nguyên dương N; Dòng thứ 2 gồm N số nguyên viết cách nhau một vài khoảng trắng.


Ràng buộc: 1<=N<=1000; -10^3<=A|i]<=10^3


Định dạng đầu ra:

Dòng đầu tiên in ra số lượng số chắn

Dòng thứ 2 in ra số lượng số lẻ

Dòng thứ 3 in ra tống các số chẵn

Dòng thứ 4 in ra tống các số lẻ


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

Ước chung lớn nhất của mảng

Nộp bài
Time limit: 1.0 / Memory limit: 256M

Point: 1

Cho mảng số nguyên A[] gồm N phần tử, tìm số lớn nhất mà mọi số trong mảng đều chia hết cho số đó.


Định dạng đầu vào: Dòng đầu tiên là số nguyên dương N; Dòng thứ 2 gồm N số nguyên viết cách nhau một vài khoảng trắng.


Ràng buộc: 1<=N<=10^6; 0<=A[i]<=10^6


Định dạng đầu ra: In ra kết quả của bài toán


Input:
12
994626 994448 996097 995790 999692 993222 991401 999038 997163 990016 993004 990549
Output:
1

Số lớn nhất, lớn thứ hai trong mảng

Nộp bài
Time limit: 1.0 / Memory limit: 256M

Point: 1

Cho mảng số nguyên A[] gồm N phần tử, tìm số lớn nhất và lớn thứ 2 trong mảng. Chú ý 2 giá trị này có thể giống nhau.


Định dạng đầu vào: Dòng đầu tiên là số nguyên dương N; dòng thứ 2 gồm N số nguyên viết cách nhau một vài khoảng trắng.


Ràng buộc: 2<=N<=10^6; 0<=A[i]<=10^6


Định dạng đầu ra: In ra số lớn thứ nhất và lớn thứ 2 trong mảng


Input 01:
5
1 3 2 6 3
Output 01:
6 3
Input 02:
10
5 1 100 200 4 3 6 8 100 120
Output 02:
200 120

Chia mảng (sắp xếp)

Nộp bài
Time limit: 1.0 / Memory limit: 256M

Point: 1

Cho mảng A[] gồm N số nguyên không âm và số K. Nhiệm vụ của bạn là hãy chia mảng A[] thành hai mảng con có kích cỡ K và N-K sao cho hiệu giữa tổng hai mảng con là lớn nhất. Ví dụ với mảng A[] = {8, 4, 5, 2, 10}, K = 2 ta có kết quả là 17 vì mảng A[] được chia thành hai mảng (4, 2) và (8, 5,10) có hiệu của hai mảng con là 23-6=17 là lớn nhất.


Định dạng đầu vào: Dòng đầu tiên là 2 số N và K. Dòng thứ 2 là N số trong mảng A


Ràng buộc: 1 ≤ K < N ≤ 10^5; 0 ≤ A[i] ≤ 10^7


Định dạng đầu ra: In ra hiệu lớn nhất có thể.


Input:
8 3
1 1 1 1 1 1 1 1
Output:
2

Số thao tác giúp mảng tăng dần 2 (mảng 1 chiều nâng cao)

Nộp bài
Time limit: 1.0 / Memory limit: 256M

Point: 1

Cho dãy số A[] gồm có t phần tử. Ớ mỗi thao tác bạn có thể tăng các phần tử trong mảng lên 1 lượng là d đơn vị, hãy xác định số thao tác tối thiểu sao cho mảng trở thành một dãy tăng chặt. Ví dụ dãy 1 2 3 7 8 là một dãy tăng chặt, nhưng dãy 1 2 2 7 8 không phải là một dãy tăng chặt. Ví dụ với mảng ban đầu là 1 3 3 2 và d = 2, ta cần thực hiện thao tác thứ nhất thêm d vào phần tử thứ 3 trong mảng, mảng trở thành 1 3 5 2, ta tiếp thục thực hiện 2 thao tác thêm d vào phần tử thứ 4, mảng trở thành dãy tăng chặt là 1 3 5 6.


Định dạng đầu vào: Dòng đầu tiên là số nguyên N và số d. Dòng tiếp theo gồm N số nguyên A[i]


Ràng buộc: 1≤ N, d ≤ 10^4; 0 ≤ A[i] ≤ 10^6


Định dạng đầu ra: In ra số thao tác tối thiểu cần thực hiện để biến mảng thành dãy tăng chặt.


Input:
3 3
15 17 9
Output:
3

Dãy số ưu thế (mảng 1 chiều nâng cao)

Nộp bài
Time limit: 1.0 / Memory limit: 256M

Point: 1

Cho dãy A[] chỉ bao gồm các số nguyên dương nhưng không biết trước số phần tử của dãy. Người ta gọi dãy A[] là dãy ưu thế nếu thỏa mãn 1 trong 2 điều kiện sau đây: Dãy gọi là ưu thế chẵn nếu số phần tử của dãy là chẵn và số lượng số chẵn trong dãy nhiều hơn số lượng số lẻ. Dãy gọi là ưu thế lẻ nếu số phần tử của dãy là lẻ và số lượng số lẻ trong dãy nhiều hơn số lượng số chẵn.


Định dạng đầu vào: 1 dòng gồm các số nguyên, mỗi số cách nhau đúng một khoảng trắng, sau chữ số cuối cùng có thể có khoảng trắng.


Ràng buộc: Số lượng phần tử trong dãy không quá 10^5; 1 ≤ A[i] ≤ 10^9


Định dạng đầu ra: In ra YES nếu dãy là dãy ưu thể, ngược lại in NO.


<h7>Input:</h7>
2 2 3 5 8 10 20 88
Output:
YES

Maximum pair (mảng 1 chiều nâng cao)

Nộp bài
Time limit: 1.0 / Memory limit: 256M

Point: 1

Cho mảng A gồm N phần tử, hãy tìm 2 chỉ số i, j khác nhau sao cho 0 <= i < j < N và trị tuyệt đối của tổng của 2 phần tử A[i] và A[j] đạt giá trị lớn nhất.


Đị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:

2<=N<=10^6;

-10^9<=A[i]<=10^9


Định dạng đầu ra: In ra đáp án của bài toán


Input 01:
5
-1 -2 -3 10 -5
Output 01:
3 0
Input 02:
5
-1 -2 -3 9 -5
Output 02:
4 2

Đếm cặp số nguyên tố cùng nhau (mảng 1 chiều nâng cao)

Nộp bài
Time limit: 1.0 / Memory limit: 256M

Point: 1

Cho một dãy số nguyên dương có n phần tử. Hãy đếm các cặp số nguyên tố cùng nhau 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≤1000; 1≤ai≤10^9


Định dạng đầu ra: In ra số lượng cặp số nguyên tố cùng nhau trong mảng.


Input:
5
2 4 8 3 6
Output:
3

Gửi thư (mảng 1 chiều nâng cao)

Nộp bài
Time limit: 1.0 / Memory limit: 256M

Point: 1

Tất cá các thành phố của Lineland đều năm trên trục tọa độ Ox. Do đó, môi thành phô được liên kết với vị trí xi - tọa độ trên trục Ox. Không có hai thành phô được đặt tại một điểm. Cư dân Lineland thích gửi thư cho nhau. Một người chỉ có thể gửi thư nếu người nhận sống ở một thành phố khác. Chi phí gửi thư chính xác bằng khoảng cách giữa thành phố của người gửi và thành phố của người nhận. Đối với mỗi thành phố, hãy tính hai giá trị mini và maxi, trong đó mini là chi phí tối thiểu để gửi thư từ thành phố thứ i đến một thành phố khác và maxi là chi phí tối đa để gửi thư từ thành phố thứi đến một số thành phố khác.


Định dạng đầu vào: Dòng đầu tiên là số nguyên dương n. Dòng thứ hai chứa chuỗi n số nguyên khác nhau x1, x2,.... xn (-10^9<= xi <=10^9), trong đó xi là tọa độ x của thành phố thứ i. Tất cả các xi là khác biệt và theo thứ tự tăng dần.


Ràng buộc: 2 ≤ n ≤ 10^6; -10^9 ≤ xi ≤ 10^9


<h7>Input:</h7>
4
-5 -2 2 7
Output:
3 12
3 9
4 7
5 12

Số lớn hơn các số đứng trước (mảng 1 chiều nâng cao)

Nộp bài
Time limit: 1.0 / Memory limit: 256M

Point: 1

Cho một dãy số nguyên dương có n phần tử. Hãy liệt kê số các phần tử trong dãy lớn hơn tất cả các số đứng trước nó (Phần tử đầu tiên được coi là một phần tử thỏa mãn).


Định dạng đầu vào: Dòng đầu tiên là số lượng phần tử trong mảng. Dòng thứ 2 là N phần tử trong mảng.


Ràng buộc: 2≤n≤10^6; 1≤ai≤10^9


Định dạng đầu ra: Liệt kê các số thỏa mãn


Input:
6
6 2 1 3 9 9
Output:
6 9