CONTEST 60. MẢNG 1 CHIỀU CƠ BẢN

Đếm chẵn lẻ, Tổng chẵn lẻ

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

Point: 10

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ẻ.

Input Format

  • 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

Constraints

~1 \le N \le 1000; -10^3 \le A[i] \le 10^3;~

Output Format

  • 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ẻ.

Sample Input 0

6
-711 327 372 779 451 -864 

Sample Output 0

2
4
-492
846

Trung bình cộng nguyên tố

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

Point: 10

Cho mảng số nguyên ~A[]~ gồm ~N~ phần tử, nhiệm vụ của bạn là tính trung bình cộng của các số là số nguyên tố trong dãy. Dữ liệu đảm bảo có ít nhất 1 phần tử là số nguyên tố trong dãy.

Input Format

  • 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.

Constraints

~1 \le N \le 1000; -10^3 \le A[i] \le 10^3~;

Output Format

  • In ra đáp án của bài toán lấy 3 số sau dấu phẩy.

Sample Input 0

5
-911 234 151 347 231 

Sample Output 0

249.000

Sample Input 1

3 
1 2 5

Sample Output 1

3.500

Số nhỏ nhất trong dãy số

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

Point: 10

Cho mảng số nguyên ~A~ gồm ~N~ phần tử, hãy đếm xem trong mảng của bạn có bao nhiêu số có cùng giá trị nhỏ nhất. Ví dụ mảng ~A~ = {~1, 2, 1, 3, 5~} thì số nhỏ nhất trong mảng là 1 xuất hiện 2 lần.

Input Format

  • 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

Constraints

~1 \le N \le 1000~; ~-10^3 \le A[i] \le 10^3~;

Output Format

  • In ra số lần xuất hiện của phần tử nhỏ nhất.

Sample Input 0

5
-854 600 222 472 207 

Sample Output 0

1

Lớn hơn, nhỏ hơn

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

Point: 10

Cho mảng số nguyên ~A[]~ gồm N phần tử và số nguyên ~X~, hãy đếm xem trong mảng có bao nhiêu số lớn hơn X và bao nhiêu số nhỏ hơn ~X~.

Input Format

  • 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;

  • Dòng thứ 3 là số nguyên ~X~.

Constraints

~1 \le N \le 1000; -10^3 \le A[i], X \le 10^3~;

Output Format

Dòng 1 in ra các số nhỏ hớn ~X~, dòng 2 in ra các số lớn hơn ~X~.

Sample Input 0

5
-798 183 434 850 555 
135

Sample Output 0

1
4

In phần tử

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

Point: 10

Cho mảng số nguyên A[] gồm N phần tử, nhiệm vụ của bạn là in ra các phần tử là số chẵn ở chỉ số chẵn, nếu mảng không tồn tại phần tử như vậy thì in ra "NONE".

Input Format

  • 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;

Constraints

0<=N<=1000; -10^3<=A[i]<=10^3;

Output Format

In ra các số cách nhau một khoảng trắng hoặc in ra NONE nếu không tìm thấy số thỏa mãn điều kiện của đầu bài.

Sample Input 0

5
-971 107 458 222 200 

Sample Output 0

458 200 

Cặp số 1

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

Point: 10

Cho mảng số nguyên A[] gồm N phần tử, hãy đếm xem trong mảng A[] tồn tại bao nhiêu cặp số A[i], A[j] với i khác j sao cho tổng của 2 phần tử này bằng số K cho trước.

Input Format

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; Dòng thứ 3 là số nguyên K

Constraints

1<=N<=1000; 0<=A[i], X<=10^3;

Output Format

In ra số lượng cặp thỏa mãn

Sample Input 0

5
1 2 3 1 2
3

Sample Output 0

4

Cặp số 2

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

Point: 10

Cho mảng số nguyên A[] gồm N phần tử, hãy tìm độ chênh lệch nhỏ nhất giữa 2 phần tử trong mảng.

Input Format

  • 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;

Constraints

1<=N<=1000; 0<=A[i], X<=10^3;

Output Format

In ra độ chênh lệch nhỏ nhất giữa 2 phần tử bất kì trong mảng

Sample Input 0

8
69 96 93 27 84 32 78 56 

Sample Output 0

3

Liệt kê các giá trị khác nhau

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

Point: 10

Cho mảng số nguyên A[] gồm N phần tử, hãy liệt kê các giá trị khác nhau trong mảng theo thứ tự xuất hiện, mỗi giá trị chỉ liệt kê 1 lần. Ở thời điểm hiện tại các bạn có thể for trâu để giải bài này, sau này sẽ dùng cách tối ưu hơn.

Gợi ý : Duyệt qua từng chỉ số i của mảng, nếu kiểm tra được đây là giá trị đầu tiên mà bạn gặp thì sẽ in ra giá trị này, tức là trước đó trong đoạn từ 0 tới chỉ số i - 1 ko có giá trị nào giống A[i], ví dụ mảng A = {1, 1, 3, 1, 5, 1, 8}, khi bạn xét số 5 bạn sẽ ra nó vì trước nó ko có giá trị nào giống nó cả. Để mà kiểm tra có in ra giá trị A[i] hay không bạn làm 1 vòng for duyệt từ chỉ số 0 tới chỉ số i - 1 và kiểm tra xem có giá trị nào bằng với A[i] hay ko, nếu ko có thì hãy in ra, có thể kiểm tra bằng cách sử dụng 1 biến đánh dấu.

Input Format

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;

Constraints

1<=N<=1000; 0<=A[i], X<=10^3;

Output Format

In ra các giá trị khác nhau theo thứ tự xuất hiện, mỗi giá trị chỉ liệt kê 1 lần.

Sample Input 0

9 
1 2 3 4 1 2 3 4 5

Sample Output 0

1 2 3 4 5

Tần suất

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

Point: 10

Cho mảng số nguyên A[] gồm N phần tử, hãy liệt kê các giá trị xuất hiện trong mảng kèm theo tần suất tương ứng, mỗi giá trị chỉ liệt kê một lần theo thứ tự xuất hiện.

Gợi ý : Xét từng chỉ số i trong mảng, đối với mỗi chỉ số i sẽ duyệt các phần tử đứng trước nó để xem nó đã xuất hiện trước đó hay chưa, nếu chưa xuất hiện thì tiến hành duyệt các phần tử đứng sau chỉ số i và đếm xem có bao nhiêu phần tử bằng với a[i]

Input Format

  • 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;

Constraints

1<=N<=1000; 0<=A[i]<=10^3;

Output Format

In ra nhiều dòng, mỗi dòng gồm giá trị kèm theo tần suất tương ứng

Sample Input 0

7
4 2 6 3 0 7 7 

Sample Output 0

4 1
2 1
6 1
3 1
0 1
7 2

Sample Input 1

5
1 1 1 1 1

Sample Output 1

1 5

Vị trí số lớn nhất, số nhỏ nhất

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

Point: 10

Cho mảng số nguyên A[] gồm N phần tử, hãy tìm vị trí(bắt đầu từ 0) cuối cùng của giá trị nhỏ nhất trong mảng và vị trí đầu tiên của giá trị lớn nhất trong mảng. Tức là nếu có nhiều số có cùng giá trị nhỏ nhất bạn phải in ra ví trí cuối cùng, và có nhiều số có cùng giá trị lớn nhất trong mảng bạn phải in ra vị trí đầu tiên lớn nhất đó.

Input Format

  • Dòng đầu tiên là N : số lượng phần tử trong mảng;
  • Dòng thứ 2 gồm N phần tử viết cách nhau một khoảng trống.

Constraints

~0 \le N \le 10^6~; ~1 \le A[i] \le 10^6~

Output Format

  • In trên 1 dòng 2 chỉ số mà bạn tìm được.

Sample Input 0

9
936 234 471 168 834 82 280 674 881 

Sample Output 0

5 0

Tìm gcd của mọi phần tử

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

Point: 10

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ố đó.

Input Format

  • Dòng đầu tiên là N : số lượng phần tử trong mảng;
  • Dòng thứ 2 gồm N phần tử viết cách nhau một khoảng trống.

Constraints

1<=N<=10^6; 0<=A[i]<=10^6

Output Format

In ra kết quả của bài toán

Sample Input 0

12
994626 994448 996097 995790 999692 993222 991401 999038 997163 990016 993004 990549 

Sample Output 0

1

Liệt kê

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

Point: 10

Cho mảng số nguyên A[] gồm N phần tử, hãy đếm số lượng các phần tử thỏa mãn các yêu cầu sau

Số lượng số nguyên tố trong dãy

Số lượng số thuận nghịch trong dãy

Số lượng số chính phương trong dãy

Số lượng số có tổng chữ số của nó là số nguyên tố.

Input Format

  • Dòng đầu tiên là N : số lượng phần tử trong mảng;
  • Dòng thứ 2 gồm N phần tử viết cách nhau một khoảng trống.

Constraints

1<=N<=100; 0<=A[i]<=10000;

Output Format

In ra 4 dòng số lượng số tương ứng với 4 yêu cầu trên

Sample Input 0

6
4 1682 5972 6331 9872 3956 

Sample Output 0

0
1
1
4

Mảng đối xứng

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

Point: 10

Cho mảng số nguyên A[] gồm N phần tử, kiểm tra xem mảng có đối xứng hay không?

Input Format

  • Dòng đầu tiên là N : số lượng phần tử trong mảng;
  • Dòng thứ 2 gồm N phần tử viết cách nhau một khoảng trống.

Constraints

1<=N<=10^6; 0<=A[i]<=10^6

Output Format

In ra YES hoặc NO tương ứng với mảng đối xứng hoặc không.

Sample Input 0

20
870 1069 2363 375 2188 6059 6775 495 643 832 832 643 495 6775 6059 2188 375 2363 1069 870 

Sample Output 0

YES

Lật ngược mảng

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

Point: 10

Cho mảng số nguyên A[] gồm N phần tử, hãy lật ngược mảng A[] và in ra kết quả

Input Format

  • Dòng đầu tiên là N : số lượng phần tử trong mảng;
  • Dòng thứ 2 gồm N phần tử viết cách nhau một khoảng trống.

Constraints

~1 \le N \le 1000; 0 \le A[i] \le 10^3~;

Output Format

In ra mảng sau khi đã đảo ngược các phần tử

Sample Input 0

5
69 94 77 28 81 

Sample Output 0

81 28 77 94 69 

Xóa mảng

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

Point: 10

Cho mảng số nguyên A[] gồm N phần tử và số nguyên X, nhiệm vụ của bạn là tìm kiếm xem X có xuất hiện trong mảng hay không, nếu X xuất hiện trong mảng thì thực hiện xóa vị trí xuất hiện đầu tiên của X trong mảng, ngược lại in ra "NOT FOUND" nếu X không xuất hiện.

Input Format

  • Dòng đầu tiên là 2 số nguyên dương N, X;
  • Dòng thứ 2 gồm N số nguyên viết cách nhau một vài khoảng trắng

Constraints

1<=N<=1000; -10^3<=A[i], X<=10^3;

Output Format

In ra mảng sau khi xóa hoặc in ra NOT FOUND nếu X không xuất hiện trong mảng

Sample Input 0

9 212
359 523 428 952 752 195 613 6 122 

Sample Output 0

NOT FOUND

Sample Input 1

5 3
1 3 3 2 5

Sample Output 1

1 3 2 5

Mảng cộng dồn

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

Point: 10

Cho mảng số nguyên A[] gồm N phần tử, nhiệm vụ của bạn là xây dựng mảng F cũng có N phần tử trong đó F[0] = A[0] và F[i] = F[i -1] + A[i] với mọi i >= 1. Như vậy bạn thử nghĩ xem F[i] lưu giá trị gì?

Input Format

  • 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

Constraints

~1 \le N \le 1000; 0 \le A[i] \le 10^3~

Output Format

  • In ra mảng cộng dồn F

Sample Input 0

5
124 577 658 919 87 

Sample Output 0

124 701 1359 2278 2365 

Cửa sổ cỡ k

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

Point: 10

Cho mảng số nguyên A[] gồm N phần tử và số nguyên K, nhiệm vụ của bạn là tìm tổng của mọi dãy con liên tiếp cỡ K của mảng A[]

Đầu vào

Dòng đầu tiên là 2 số nguyên dương N, K

Dòng thứ 2 gồm N số nguyên viết cách nhau một vài khoảng trắng

Giới hạn 1<=K<=N<=1000

0<=A[i]<=10^3

Đầu ra

In ra tổng của các dãy con K phần tử liên tiếp trong mảng

Ví dụ :

Input 01

7 5
5 9 4 5 5 8 7

Output 01

28 31 29

Mảng đánh dấu 01

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

Point: 10

Cho mảng số nguyên A[] gồm N phần tử, hãy đếm xem có bao nhiêu giá trị khác nhau trong mảng?

Input Format

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

Constraints

1<=N<=1000; 0<=A[i]<=10^6;

Output Format

In ra số lượng các giá trị khác nhau xuất hiện trong mảng

Sample Input 0

5
3 9 4 0 9 

Sample Output 0

4

Sample Input 1

5
1 7 8 1 7 

Sample Output 1

3

[Bài tập kết thúc contest] Unique

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

Point: 50

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 A[] = {1, 2, 3, 2, 1, 4}

Input Format

Dòng 1 gồm N

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

Constraints

1<=N<=1000

0<=A[i]<=100

Output Format

In ra mảng sau khi xóa

Sample Input 0

11
2 3 3 0 0 0 3 3 3 3 4 

Sample Output 0

2 3 0 3 4