THCS NÂNG CAO BUỔI 5


Chèn phần tử

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

Cho một số nguyên dương \(n\), một dãy \(a\) gồm \(n\) số nguyên \(a_1, a_2, a_3, \ldots, a_n\) và hai số nguyên \(k\)\(x\).
Hãy chèn một phần tử có giá trị bằng \(x\) vào sau vị trí thứ \(k\) trong dãy \(a\).

Input

  • Dòng đầu tiên gồm số nguyên dương \(n\) (\(1 \le n \le 10^{6}\)).
  • Dòng thứ hai gồm \(n\) số nguyên \(a_1, a_2, a_3, \dots, a_n\) (\(|a_i| \le 10^{9}\)).
  • Dòng thứ ba gồm hai số nguyên \(k\)\(x\) (\(1 \le k \le n\); \(|x| \le 10^{9}\)).

Output

  • In ra các phần tử của dãy \(a\) trên một dòng sau khi chèn phần tử \(x\) vào sau vị trí \(k\). Các số cách nhau ít nhất một khoảng trắng.

Examples

Test 1

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

Loại bỏ phần tử

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

Cho một số nguyên dương \(n\), một dãy \(a\) gồm \(n\) số nguyên \(a_1, a_2, a_3, \ldots, a_n\) và một số nguyên dương \(k\).
Hãy xoá phần tử ở vị trí thứ \(k\) trong dãy \(a\).

Input

  • Dòng đầu tiên gồm số nguyên dương \(n\) (\(1 \le n \le 10^{6}\)).
  • Dòng thứ hai gồm \(n\) số nguyên \(a_1, a_2, a_3, \dots, a_n\) (\(|a_i| \le 10^{9}\)).
  • Dòng thứ ba gồm số nguyên dương \(k\) (\(1 \le k \le n\)).

Output

  • In ra các phần tử của dãy \(a\) trên một dòng sau khi xoá phần tử ở vị trí \(k\). Các số cách nhau ít nhất một khoảng trắng.

Examples

Test 1

Input
4
1 7 5 10
2
Output
1 5 10

Mảng không âm

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

Cho một số nguyên dương \(n\) và một dãy \(a\) gồm \(n\) số nguyên \(a_1, a_2, a_3, \dots, a_n\).
Hãy in ra dãy \(a\) sau khi loại bỏ tất cả các phần tử âm.

Input

  • Dòng đầu tiên gồm số nguyên dương \(n\) (\(1 \le n \le 10^{5}\)).
  • Dòng thứ hai gồm \(n\) số nguyên \(a_1, a_2, a_3, \dots, a_n\) (\(|a_i| \le 10^{9}\)).

Output

  • In ra các phần từ của dãy \(a\) sau khi loại bỏ các phần tử âm. Các số cần đảm bảo thứ tự như ban đầu và cách nhau ít nhất một khoảng trắng.

Examples

Test 1

Input
6
4 -1 2 0 0 -5
Output
4 2 0 0

Loại bỏ giá trị

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

Cho một số nguyên dương \(n\), một dãy \(a\) gồm \(n\) số nguyên \(a_1, a_2, a_3, \dots, a_n\) và một số nguyên \(k\).
Hãy xoá tất cả các phần tử có giá trị bằng \(k\) trong dãy \(a\).

Input

  • Dòng đầu tiên gồm số nguyên dương \(n\) (\(1 \le n \le 10^{5}\)).
  • Dòng thứ hai gồm \(n\) số nguyên \(a_1, a_2, a_3, \dots, a_n\) (\(|a_i| \le 10^{9}\)).
  • Dòng thứ ba gồm số nguyên \(k\) (\(|k| \le 10^{9}\)).

Output

  • In ra các phần từ của dãy \(a\) sau khi loại bỏ các phần tử bằng \(k\). Các số cần đảm bảo thứ tự như ban đầu và cách nhau ít nhất một khoảng trắng.

Examples

Test 1

Input
4
1 7 1 10
1
Output
7 10

Dịch dãy

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

Cho một số nguyên dương \(n\) và một dãy \(a\) gồm \(n\) số nguyên \(a_1, a_2, a_3, \ldots, a_n\).
Hãy dịch chuyển vị trí của các phần tử trong dãy sang phải đúng \(1\) đơn vị. Cụ thể, phần từ \(a_1\) cũ sẽ trở thành phần từ \(a_2\) mới, phần từ \(a_2\) cũ sẽ trở thành phần tử \(a_3\) mới,\(\ldots\) Phần tử cuối cùng sẽ được đưa lên đầu dãy.

Input

  • Dòng đầu tiên gồm số nguyên dương \(n\) (\(1 \le n \le 10^{6}\)).
  • Dòng thứ hai gồm \(n\) số nguyên \(a_1, a_2, a_3, \dots, a_n\) (\(|a_i| \le 10^{6}\)).

Output

  • In ra các phần tử của dãy \(a\) lần lượt trên một dòng sau khi dịch chuyển vị trí theo yêu cầu đề bài. Các số cách nhau ít nhất một khoảng trắng.

Examples

Test 1

Input
9
-8 -7 0 7 -2 2 10 -7 5
Output
5 -8 -7 0 7 -2 2 10 -7

Test 2

Input
10
4 -7 6 -7 6 9 -8 -3 10 6
Output
6 4 -7 6 -7 6 9 -8 -3 10

Nhiệt độ

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

Trong đợt nghỉ hè này, TDZ được giao nhiệm vụ thống kê và báo cáo nhiệt độ của các ngày trong một tuần. Việc thống kê thì đã quá dễ dàng vì TDZ có thể Google và hàng chục triệu kết quả sẽ hiện ra trước mắt. Nhưng còn việc viết báo cáo, vì TDZ mải chơi và lười nghĩ nên TDZ quyết định nhờ các bạn đọc thực hiện công việc hộ TDZ.

Một bản báo cáo nhiệt độ cần có các thông tin sau:

  • Nhiệt độ của các ngày lạnh hơn 10°C.
  • Nhiệt độ của ngày lạnh nhất và nóng nhất.

Vậy đó, mặc dù biết cổ xuý cho việc lười biếng là không tốt, các bạn giúp TDZ lần này nhé 🙂

Input

  • Gồm bảy số thực lần lượt là nhiệt độ của các ngày trong tuần.

Output

  • Dòng thứ nhất in ra nhiệt độ của các ngày lạnh hơn 10°C. Nếu có nhiều ngày thoả mãn thì in theo thứ tự ngày trong tuần.
  • Dòng thứ hai in ra nhiệt độ của ngày lạnh nhất.
  • Dòng thứ ba in ra nhiệt độ của ngày nóng nhất.

Sample Test

Test 1

Input
12.8 15.3 20.1 15.9 9.0 8.9 12.6 
Output
9.0 8.9
8.9
20.1

Khoảng cách liên tiếp

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

Cho một số nguyên dương \(n\) và một dãy \(a\) gồm \(n\) số nguyên \(a_1, a_2, a_3, \ldots, a_n\).
Hãy tính các khoảng cách giữa hai số liên tiếp. Cụ thể, hãy tính tất cả \(|a_i - a_{i - 1}|\) với \(2 \leq i \leq n\).

Input

  • Dòng đầu tiên gồm số nguyên dương \(n\) (\(1 \le n \le 10^{6}\)).
  • Dòng thứ hai gồm \(n\) số nguyên \(a_1, a_2, a_3, \dots, a_n\) (\(|a_i| \le 10^{6}\)).

Output

  • In ra lần lượt \(n - 1\) khoảng cách giữa hai số liên tiếp trên một dòng. Các số cách nhau ít nhất một khoảng trắng.

Examples

Test 1

Input
5
1 3 5 2 7
Output
2 2 3 5

Test 2

Input
10
5 -7 3 10 -4 -2 9 -4 1 -7
Output
12 10 7 14 2 11 13 5 8

Dãy tăng dần

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

Một dãy tăng dần là dãy mà mọi phần tử (trừ phần tử đầu tiên) luôn lớn hơn phần tử đứng đằng trước nó.

Cho một số nguyên dương \(n\) và một dãy \(a\) gồm \(n\) số nguyên \(a_1, a_2, a_3, \ldots, a_n\). Hãy kiểm tra xem dãy \(a\) có phải là dãy tăng dần hay không.

Input

  • Dòng đầu tiên gồm số nguyên dương \(n\) (\(1 \le n \le 10^{6}\)).
  • Dòng thứ hai gồm \(n\) số nguyên \(a_1, a_2, a_3, \dots, a_n\) (\(|a_i| \le 10^{9}\)).

Output

  • In ra YES nếu dãy \(a\)dãy tăng dần, ngược lại in ra NO.

Examples

Test 1

Input
7
9 16 16 0 17 15 -9
Output
NO

Test 2

Input
5
9 10 11 15 19
Output
YES

Tổng liên tiếp lớn nhất

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

Cho một số nguyên dương \(n\) và một dãy \(a\) gồm \(n\) số nguyên \(a_1, a_2, a_3, \ldots, a_n\). Hãy tìm tổng lớn nhất của hai phần tử liên tiếp trong dãy \(a\).

Input

  • Dòng đầu tiên gồm số nguyên dương \(n\) (\(1 \le n \le 10^{3}\)).
  • Dòng thứ hai gồm \(n\) số nguyên \(a_1, a_2, a_3, \dots, a_n\) (\(|a_i| \le 10^{9}\)).

Output

  • In ra tổng lớn nhất của hai phần tử liên tiếp trong dãy \(a\).

Examples

Test 1

Input
7
9 16 16 0 17 15 -9
Output
32

Test 2

Input
5
9 10 11 -15 19
Output
21

Lớn nhất

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

Cho một số nguyên dương \(n\) và một dãy \(a\) gồm \(n\) số nguyên \(a_1, a_2, a_3, \ldots, a_n\). Hãy tìm phần tử lớn nhất và liệt kê tất cả vị trí các phần tử bằng với phần tử lớn nhất đó trong dãy \(a\).

Input

  • Dòng đầu tiên gồm số nguyên dương \(n\) (\(1 \le n \le 10^{3}\)).
  • Dòng thứ hai gồm \(n\) số nguyên \(a_1, a_2, a_3, \dots, a_n\) (\(|a_i| \le 10^{9}\)).

Output

  • Dòng thứ nhất in ra giá trị của phần tử lớn nhất trong dãy \(a\).
  • Dòng thứ hai in ra các vị trí của các phần tử bằng phần tử lớn nhất trong dãy \(a\) theo thứ tự tăng dần. Các số cách nhau ít nhất một khoảng trắng.

Examples

Test 1

Input
7
9 17 16 0 17 15 -9
Output
17
2 5

Test 2

Input
5
9 10 11 -15 19
Output
19
5

Số bé nhất

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

Cho một số nguyên dương \(n\) và một dãy \(a\) gồm \(n\) số nguyên \(a_1, a_2, a_3, \ldots, a_n\). Hãy tìm phần tử bé nhất và liệt kê tất cả vị trí các phần tử bằng với phần tử bé nhất đó trong dãy \(a\).

Input

  • Dòng đầu tiên gồm số nguyên dương \(n\) (\(1 \le n \le 10^{3}\)).
  • Dòng thứ hai gồm \(n\) số nguyên \(a_1, a_2, a_3, \dots, a_n\) (\(|a_i| \le 10^{9}\)).

Output

  • Dòng thứ nhất in ra giá trị của phần tử bé nhất trong dãy \(a\).
  • Dòng thứ hai in ra các vị trí của các phần tử bằng phần tử bé nhất trong dãy \(a\) theo thứ tự tăng dần. Các số cách nhau ít nhất một khoảng trắng.

Examples

Test 1

Input
7
9 17 16 0 17 15 -9
Output
-9
7

Test 2

Input
5
9 -15 11 -15 19
Output
-15
2 4

Tìm cặp số

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

Cho một mảng số nguyên \(A\)\(N\) phần tử, mảng này đã được sắp xếp tăng dần. Hãy tìm vị trí của hai phần tử khác nhau bất kỳ sao cho tổng của chúng có giá trị là \(X\). Nếu trong dãy \(A\) không tồn tại hai phần tử khác nhau có tổng là \(X\) thì in ra "No solution".

Input

  • Dòng đầu chứa 2 số nguyên \(N\)\(X\).
  • Dòng tiếp theo chứa \(N\) số nguyên \(A_i\).

Output

  • Hai vị trí \(i\)\(j\) khác nhau sao cho tổng ở hai vị trí này có giá là \(X\). In vị trí phần tử nhỏ hơn trước phần tử lớn hơn.
  • Nếu không tồn tại in ra "No solution".

Constants

  • \(2 \leq N \leq 10^6\)\(0 \leq A_i, X \leq 10^9\)

Example

Test 1

Input
6 16
2 3 5 7 9 12
Output
4 5

Đánh giá số đẹp (HSG12'19-20)

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

Hiện nay, xem ý nghĩa biển số xe, số điện thoại, ngày sinh hay một dãy số nào đó là điều quan tâm của nhiều người. Cách đánh giá số đẹp của dãy số như sau: Tính tổng các chữ số trong dãy, nếu tổng là số có \(1\) chữ thì đó là giá trị số đẹp (độ đẹp của dãy số), ngược lại thì tiếp tục tính tổng các chữ số trong dãy.

Ví dụ:

  • Dãy số ngày sinh \(02022020\) có tổng các chữ số là \(8\), vậy độ đẹp của dãy số là \(8\).
  • Dãy số điện thoại \(0912345678\) có tổng các chữ số là \(45\), tính tục tính tổng ta được tổng là \(9\), vậy độ đẹp của dãy số là \(9\).

Yêu cầu: Cho dãy số có \(n\) chữ số. Hãy đánh giá độ đẹp của dãy số đã cho.

Input

  • Chứa dãy số có \(n\) chữ số (\(n \leq 18\))

Output

  • Một số nguyên là độ đẹp của dãy số.

Example

Test 1

Input
02022020
Output
8

Test 2

Input
0912345678
Output
9