Bài tập xử lý mảng

Bộ đề bài

# Bài tập Điểm Thời gian: Giới hạn bộ nhớ
1 Bộ ba liên tiếp 100 (p) 1.0s 256M
2 Tổng chữ số của dãy 100 (p) 1.0s 256M
3 Đếm bộ ba 100 (p) 1.0s 256M
4 Mảng đảo ngược 100 (p) 1.0s 256M

1. Bộ ba liên tiếp

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

Có \(n\) bao lì xì trên bàn, tí được chọn bất kì \(3\) phong bì lì xì liên tục trên bàn. Tí muốn số tiền mình nhận được không nhỏ hơn \(k\) đồng. Hãy tính xem Tí có bao nhiêu cách chọn để được số tiền mình mong muốn.

Input

  • Dòng đầu ghi hai số \(n,k\) không quá \(10^6\).
  • Dòng thứ hai ghi \(n\) phần tử nguyên dương của dãy \(a\), mỗi phần tử bé hơn \(10^8\).

Output

  • In ra số cách thỏa đề.

Example

Test 1

Input
3 28
6 80 21
Output
1

Nguồn: a516 Thánh Ngốc

2. Tổng chữ số của dãy

Đ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 gồm \(n\) số nguyên dương \(a_1, a_2, \dots, a_n\). Với mỗi số \(a_i\), ta tính tổng các chữ số của nó. Hãy tính và in ra tổng của tất cả các tổng chữ số đó.

Input

  • Dòng đầu tiên chứa số nguyên dương \(n\).
  • Dòng thứ hai chứa \(n\) số nguyên dương \(a_1, a_2, \dots, a_n\).

Output

  • Một số nguyên duy nhất là tổng các chữ số của tất cả các số trong dãy đã cho.

Example

Test 1

Input
3
12 5 31
Output
12
Note
  • Số \(12\) có tổng chữ số là \(1 + 2 = 3\).
  • Số \(5\) có tổng chữ số là \(5\).
  • Số \(31\) có tổng chữ số là \(3 + 1 = 4\).
  • Tổng cuối cùng là: \(3 + 5 + 4 = 12\).

Constraints

  • \(1 \le n \le 10^5\)
  • \(1 \le a_i \le 10^9\)

3. Đếm bộ ba

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

Trong một vương quốc nọ, nhà vua đang tìm kiếm những bộ ba thợ rèn tài giỏi để chế tạo ra thanh gươm huyền thoại. Nhà vua có \(n\) thanh sắt, thanh thứ \(i\) có độ cứng là \(A_i\). Một bộ ba thợ rèn được coi là "hợp nhất" nếu họ chọn ra ba thanh sắt ở các vị trí \(i, j, k\) (có thể trùng nhau) sao cho trung bình cộng độ cứng của hai thanh sắt \(i\) và \(j\) đúng bằng độ cứng của thanh sắt \(k\).

Nói cách khác, bạn cần đếm số lượng bộ ba chỉ số \((i, j, k)\) thỏa mãn điều kiện: \(A_i + A_j = 2 \cdot A_k\) với \(1 \le i, j, k \le n\).

Input

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

Output

  • Một số nguyên duy nhất là số lượng bộ ba thỏa mãn yêu cầu đề bài.

Example

Test 1

Input
3
1 2 3
Output
5
Note

Các bộ ba \((i, j, k)\) thỏa mãn \(A_i + A_j = 2 \cdot A_k\) là:

  • \((1, 1, 1)\) vì \(1 + 1 = 2 \cdot 1\)
  • \((2, 2, 2)\) vì \(2 + 2 = 2 \cdot 2\)
  • \((3, 3, 3)\) vì \(3 + 3 = 2 \cdot 3\)
  • \((1, 3, 2)\) vì \(1 + 3 = 2 \cdot 2\)
  • \((3, 1, 2)\) vì \(3 + 1 = 2 \cdot 2\)

Constraints

  • \(n \le 200\)

4. Mảng đảo ngược

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

Trong một vương quốc nọ, nhà vua có một dãy số bí mật gồm \(N\) số nguyên. Để bảo vệ bí mật này khỏi những kẻ xâm nhập, nhà vua quyết định mã hóa dãy số bằng cách đảo ngược từng chữ số của mỗi phần tử trong dãy. Ví dụ, nếu một số là \(123\), sau khi mã hóa nó sẽ trở thành \(321\).

Bạn hãy giúp nhà vua thực hiện công việc mã hóa này cho toàn bộ dãy số \(A\).

Input

  • Dòng đầu tiên chứa số nguyên dương \(N\) (\(1 \le N \le 10^5\)).
  • Dòng thứ hai chứa \(N\) số nguyên \(A_1, A_2, \dots, A_N\) (\(0 \le A_i \le 10^9\)).

Output

  • In ra \(N\) số nguyên sau khi đã được đảo ngược, mỗi số cách nhau bởi một khoảng trắng.

Example

Test 1

Input
3
123 450 7
Output
321 54 7
Note
  • Số \(123\) đảo ngược thành \(321\).
  • Số \(450\) đảo ngược thành \(054\), in ra là \(54\).
  • Số \(7\) đảo ngược vẫn là \(7\).

Constraints

  • \(N \le 10^5\)
  • \(A_i \le 10^9\)