Kiểm tra - 3


Phép tính dễ

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

Nhập vào 3 số \(A\), \(B\), \(C\). In ra \((A - B) \times C\).

Input

  • Dòng đầu tiên chứa \(3\) số nguyên dương \(A\), \(B\), \(C\) cách nhau một dấu cách (\(A\), \(B\), \(C \leq 100\)).

Output

  • In ra \(1\) số nguyên là đáp án.

Example

Test 1
Input
10 1 3
Output
27

Lowercase

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

Nhập vào chữ hoa, in ra chữ cái thường tương ứng.

Input

Một kí tự duy nhất là chữ cái hoa.

Output

  • In ra ký tự thích hợp.

Example

Test 1
Input
A
Output
a

Tổng lập phương

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

Nhập vào \(2\) số thực \(a, b\). In ra tổng \(a^3 + b^3\).

Input

  • Dòng đầu tiên chứa duy nhất \(2\) số thực \(a, b\). (\(|a|, |b| \leq 100\)).

Output

  • In ra một số thực là tổng lập phương của \(2\) số \(a\)\(b\). Kết quả làm tròn đến chữ số thập phân thứ \(2\).

Example

Test 1
Input
4.5 3.2
Output
123.89

Sắp xếp

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

Nhập vào \(3\) số. Sắp xếp lại \(3\) số đã cho.

Input

  • Dòng đầu tiên chứa duy nhất \(3\) số nguyên dương \(a, b, c\) (\(a, b, c \leq 10000\)).

Output

  • In ra \(3\) số số theo thứ tự tăng dần.

Sample Test

Input:

5 3 4

Output:

3 4 5


Số chính phương

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

Kiểm tra \(1\) số có phải số chính phương hay không?

Input

  • Chứa duy nhất một số nguyên \(N\) (\(0 \leq N \leq 10^5\)).

Output

  • In ra YES nếu là số chính phương, in ra NO nếu ngược lại.

Sample Test

Input:

5

Output:

NO


Bốn lần xuất hiện

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 \(5\) số. In ra YES nếu có đúng \(4\) số có cùng tính chẵn lẻ, in ra NO nếu ngược lại.

Input

  • Dòng đầu tiên chứa \(5\) số nguyên. (nằm trong khoảng int)

Output

  • In ra kết quả thỏa mãn đề bài.

Sample Test

Input:

1 1 1 1 2

Output:

YES


Số số hạng

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

Nhập vào số \(N\), in ra số các số dương nhỏ hơn hoặc bằng \(N\) và lớn hơn \((N - 1)/2\).

Input

  • Dòng đầu tiên chứa duy nhất một số nguyên dương \(N\) (\(N \leq 50\)).

Output

  • In ra số nguyên thỏa mãn đề bài.

Sample Test

Input:

9

Output:

5


Số chẵn

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

Đọc vào một dãy số, in ra tất cả các số trong dãy cho đến trước số chẵn thứ \(x\).

Input

  • Dòng đầu tiên chứa số nguyên dương \(N\) (\(1 \leq N \leq 10^4\)).
  • Dòng thứ hai chứa \(N\) số nguyên dương \(a_i\) (\(1 \leq a_i \leq 10000\)).
  • Dòng cuối chứa số nguyên \(x\) (\(x\) có thể lớn hơn số số chẵn trong dãy).

Output

  • In ra tất cả các số trước số chẵn thứ \(x\) trong dãy trên một dòng, các số cách nhau bởi dấu cách.

Sample Test

Input:

5
1 2 3 4 5
2

Output:

1 2 3


ezarr10

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

Nhập vào dãy \(N\) phần tử và số nguyên \(x\). Tính tổng tất cả các phần tử trong mảng, ngoại trừ phần tử tại vị trí \(x\).

Input

  • Dòng đầu tiên chứa số nguyên dương \(N\) (\(1 \leq N \leq 10^5\)).
  • Dòng tiếp theo chứa \(N\) số nguyên \(a_1, a_2, a_3, \ldots, a_N\) (\(|a_i| \leq 10^9\)).
  • Dòng cuối chứa số nguyên \(x\) (\(1 \leq x \leq 10^5\))

Output

  • In ra tổng cần tìm.

Example

Test 1
Input
6
4 1 2 0 0 5
3
Output
10

ezarr11

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

Nhập vào dãy \(N\) phần tử và số nguyên \(x\). Kiểm tra xem số nguyên \(x\) xuất hiện trong dãy vừa nhập hay không, nếu có in ra YES, ngược lại in ra NO.

Input

  • Dòng đầu tiên chứa số nguyên dương \(N\) và số nguyên \(x\) (\(1 \leq N \leq 10^5\), \(|x| \leq 10^9\)).
  • Dòng tiếp theo chứa \(N\) số nguyên \(a_i\) (\(|a_i| \leq 10^9\)).

Output

  • In ra YES nếu số nguyên \(x\) xuất hiện trong dãy nhập, ngược lại in ra NO.

Example

Test 1
Input
6 3
4 1 2 0 0 5
Output
NO

Đếm số 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

Nhập vào xâu \(S\). Đếm số từ trong xâu.

Input

  • Dòng đầu tiên chứa duy nhất xâu \(S\) (\(0 < |S| < 225\))

Output

  • In ra số từ trong xâu.

Sample Test

Input:

Dinh Ngoc  Tuyen

Output:

3


Mật mã 1

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

Mật mã TDZ có một quy tắc rất đơn giản: \(1 → a\), \(2 → b\), \(3 → c\), ... \(26 → z.\)

Lưu ý: Dấu cách sẽ được biểu diễn bằng số \(27\).

Input

  • Dòng thứ nhất chứa số nguyên \(N\) - độ dài xâu (\(0 < N \leq 10^4\)).
  • Dòng thứ hai là xâu \(S\) viết dưới dạng các số, mỗi số cách nhau \(1\) dấu cách.

Output

  • In ra xâu \(S\) được giải mã.

Sample Test

Input:

19
18 5 22 5 18 19 5 27 20 8 5 27 3 9 16 8 5 18 19

Output:

reverse the ciphers


Mật mã 2

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

Tiếp tục series mật mã. Mật mã ZDT có quy tắc như sau: \(z → a\), \(y → b\), \(x → c\), ... \(a → z\)

Nhập vào xâu \(S\). In ra xâu \(S\) sau khi giải mã.

Input

  • Nhập vào xâu \(S\) (\(0 < |S| < 225\))

Output

  • In ra xâu \(S\) được giải mã.

Sample Test

Input:

gsv rmerhryov draziw rh dzgxsrmt

Output:

the invisible wizard is watching


Số tròn chục

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 hai số nguyên dương \(L\)\(R\). Số tròn chục là số chia hết cho \(10\).

Yêu cầu:
Đếm xem có bao nhiêu số nguyên dương tròn chục lớn hơn \(L\) và nhỏ hơn \(R\).


Input

  • Dòng đầu tiên chứa số nguyên dương \(L\);
  • Dòng thứ hai chứa số nguyên dương \(R\).

    \((0 < L < R < 10^{18})\)


Output

  • In ra một số nguyên duy nhất là số lượng số thoả mãn yêu cầu đề bài.

Subtasks

  • Subtask 1 (\(60\%\) số điểm): \(R \leq 10^6\)
  • Subtask 2 (\(20\%\) số điểm): \(R \leq 10^9\)
  • Subtask 3 (\(20\%\) số điểm): Không có ràng buộc gì thêm.

Sample Test

Input

5
30

Output

2

Note
\(2\) số tròn chục nằm giữa \(5\)\(30\) là: \(10\), \(20\).


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

Để tiếp tục nâng cao trải nghiệm cho người dùng, nhà mạng HNOJ tiếp tục xây dựng dịch vụ kiểm tra số dư tài khoản chỉ với một nút gửi.
Bạn vừa gửi yêu cầu kiểm tra tài khoản và nhận được thông báo, hãy tính số tin nhắn bạn còn có thể gửi được với số dư hiện tại, với chi phí cho mỗi tin nhắn cơ sở vẫn giữ là \(3\) dogecoin.

Input

Gồm một xâu có dạng:

So du tai khoan: x dogecoin

Với x là số dư hiện tại của người dùng (\(x\) nguyên dương, \(|x| \leq 3000\)).

Output

In ra số lượng tin nhắn cơ sở bạn có thể gửi được với số dư x.

Sample Test

Input:

So du tai khoan: 200 dogecoin

Output:

66


Đ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\). Hãy liệt kê tất cả số nguyên tố nhỏ hơn hoặc bằng \(n\).


Input


Gồm một số nguyên dương \(n\) duy nhất (\(2 \leq n \leq 10^5\)).


Output


In ra tất cả các số nguyên tố không vượt quá \(n\) theo thứ tự tăng dần trên cùng một dòng.


Sample Test


Input:

14

Output:

2 3 5 7 11 13


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

Cho hai xâu \(S\)\(T\), hãy kiểm tra xem \(T\) có phải là một xâu con liên tiếp của \(S\) hay không.

Input

  • Gồm hai dòng, dòng thứ nhất chứa xâu \(S\) và dòng thứ hai chứa xâu \(T\). Độ dài các xâu không vượt quá \(100\) ký tự.

Output

  • In ra YES nếu \(T\) là xâu con liên tiếp của \(S\), ngược lại in ra NO.

Sample Test

Test 1

Input
abba
ab
Output
YES

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

TDZ đang học về ước chung lớn nhất (UCLN). Nhưng khi nghe đến thứ gọi là "ước nguyên tố" thì TDZ đang rất mơ hồ vì cậu không nắm vững kiến thức về số nguyên tố. Vì vậy, TDZ nhờ bạn giải giúp bài tập này để thông não ra một tí:

Cho \(n\) số nguyên dương, hãy:

  • Đếm số lượng số nguyên tố trong \(n\) số này.
  • Tìm UCLN của \(n\) số này.

Input

  • Dòng thứ nhất gồm một số nguyên dương \(n\) (\(n \leq 10^5\)).
  • Dòng thứ hai gồm \(n\) số nguyên dương có giá trị không vượt quá \(10^5\).

Output

  • Dòng thứ nhất in ra số lượng số nguyên tố trong \(n\) số.
  • Dòng thứ hai in ra UCLN của \(n\) số.

Sample Test

Test 1

Input
5
3 6 2 9 5
Output
3 
1

Test 2

Input
4
4 8 10 6
Output
0
2

Note

  • Test 1: Có 3 số nguyên tố là 3, 2, 5. UCLN(3, 6, 2, 9, 5) = 1
  • Test 2: Không có số nguyên tố nào. UCLN(4, 8, 10, 6) = 2

PA056_1

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 số nguyên dương \(N\).

Yêu cầu: Tính giá trị của:

\(S = \sum_{i=1}^{N}\dfrac{1}{i \times (i+1)}\)

Input

  • Một dòng duy nhất chứa số nguyên dương \(N \ (N \le 10^9)\).

Output

  • In ra kết quả cần tìm. Kết quả được coi là đúng nếu sai số không vượt quá \(10^{-18}\).

Sample Test

Test 1

Input
5
Output
0.833333333333333333

Note

\(S = \dfrac{1}{1 \times 2} + \dfrac{1}{2 \times 3} + \dfrac{1}{3 \times 4} + \dfrac{1}{4 \times 5} + \dfrac{1}{5 \times 6} = \dfrac{5}{6} = 0.8(3)\).


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

Cho \(n\) số nguyên dương. Hãy đưa ra ước chung lớn nhất của \(n\) số đó.

Input

  • Dòng thứ nhất chứa số nguyên dương \(n\) (\(n \leq 1000\)).
  • Dòng thứ hai chứa \(n\) số nguyên dương không vượt quá \(10^6\).

Output

In ra ước chung lớn nhất của \(n\) số.

Sample Test 1

Input:

4
2 4 6 8

Output:
2

Sample Test 2

Input:

4
1 2 4 5

Output:
1


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

Một cặp số sinh đôi là hai số nguyên tố có khoảng cách là 2 đơn vị. Cho một số nguyên dương \(n\), hãy đưa ra số lượng các cặp số sinh đôi khác nhau mà các số đều không vượt quá \(n\).

Hai cặp số sinh đôi được gọi là khác nhau nếu chúng không phải hoán vị của nhau, hay nói cách khác tồn tại ít nhất một số chỉ thuộc một cặp duy nhất. Ví dụ:

  • \((3, 5)\), \((5, 7)\) là hai cặp số sinh đôi khác nhau.
  • \((3, 5)\), \((5, 3)\) không là hai cặp số sinh đôi khác nhau.

Input

  • Gồm một số nguyên dương \(n\) duy nhất (\(n \leq 1000\)).

Output

  • In ra số lượng các cặp số sinh đôi theo yêu cầu đề bài.

Sample Test

Test 1

Input
7
Output
2

Note

  • Hai cặp số thoả mãn là \((3, 5)\)\((5, 7)\).

Đ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 chẵn \(n\). Hãy liệt kê tất cả các cách phân tích \(n\) thành tổng của hai số \(a\)\(b\) sao cho:

\[\begin{cases} a \leq b\\ a, b \text{ nguyên tố} \\ a + b = n \end{cases}\]

Input

  • Gồm một số nguyên dương chẵn \(n\) duy nhất (\(n \leq 1000\)).

Output

  • Dòng thứ nhất chứa số \(k\) - số lượng cách phân tích khác nhau.
  • \(k\) dòng tiếp theo, mỗi dòng chứa hai số \(a\)\(b\) thoả mãn yêu cầu đề bài. Các cặp số \((a, b)\) có thể được in theo thứ tự bất kì.

Sample Test

Test 1

Input
10
Output
2
3 7
5 5

Test 1

Input
18
Output
2
7 11
5 13

Sắp xếp drone

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

Nam có \(n\) drone, mỗi drone thuộc một trong hai loại: loại 1 và loại 2.
Sau một buổi trình diễn, Nam tập hợp lại và xếp thành một dãy \(s_1, s_2, \dots, s_n\), trong đó \(s_i = 1\) hoặc \(s_i = 2\) cho biết drone thứ \(i\) thuộc loại 1 hoặc loại 2.

Nam muốn sắp xếp lại dãy drone để loại 1 xếp trước loại 2 chỉ bằng các thao tác đổi chỗ hai drone cho nhau.
Cụ thể, mỗi lượt Nam có thể tráo đổi drone ở vị trí \(i\) (\(1 \leq i \leq n\)) với drone ở vị trí \(j\) (\(1 \leq j \leq n\)).

Yêu cầu

Hãy tính số lượt đổi chỗ hai drone ít nhất cần thực hiện để tất cả các drone loại 1 xếp trước loại 2.

Dữ liệu nhập vào từ bàn phím

  • Dòng đầu chứa số nguyên dương \(n\) (\(n \leq 10^5\)).
  • Dòng thứ hai chứa \(n\) số nguyên \(s_1, s_2, \dots, s_n\) (\(1 \leq s_i \leq 2\)).

Kết quả ghi ra màn hình

  • Một số nguyên duy nhất — số lần đổi chỗ ít nhất cần thực hiện.

Ràng buộc

  • Subtask 1 (20% số điểm): \(n = 2\)
  • Subtask 2 (40% số điểm): \(n \leq 5\)
  • Subtask 3 (40% số điểm): Không có ràng buộc gì thêm

Ví dụ

Input

2
1 2

Output
0

Input

5
2 2 1 1 2

Output
2


Bò lạc

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

Phú Ông có một đàn bò gồm \(n\) con, các con bò mang số hiệu từ \(1\) đến \(n\).
Bờm được Phú Ông giao nhiệm vụ, hàng ngày, thả bò ra và chiều tối lùa bò về chuồng.
Một hôm, do mải chơi nên Bờm đã để lạc mất 1 con bò.

Bờm rất lo lắng và muốn xác định số hiệu của con bò bị lạc để đăng tin tìm kiếm vì nếu không sẽ bị Phú Ông phạt nặng.
Đàn bò khá đông và Bờm chỉ nhớ, Bờm đã tính tổng số hiệu của các con bò còn lại là một số nguyên \(S\).

Yêu cầu

Cho hai số nguyên dương \(n\)\(S\). Hãy giúp Bờm tìm ra số hiệu của con bò bị lạc.

Dữ liệu nhập vào từ bàn phím

  • Gồm 2 số nguyên \(n, S\).

Kết quả ghi ra màn hình

  • Một số nguyên duy nhất là số hiệu của con bò đi lạc.

Ví dụ

Input

5 12

Output

3

Giới hạn

  • Subtask 1 (50% số điểm): \(n \leq 10^4\)
  • Subtask 2 (50% số điểm): \(n \leq 10^9\)

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

Trên khu đất rộng nhà Hoàng có \(n\) đống rơm, đó là thức ăn dự trữ cho chú bò vào mùa đông.
Mỗi đống rơm được biểu diễn là một hình tròn trên mặt phẳng tọa độ, đống rơm thứ \(i\) có tọa độ tâm là \((x_i, y_i)\) và bán kính \(r_i\).

Tại điểm \((a, b)\) có một cọc để cột chú bò. Vào mỗi buổi chiều tối hằng ngày, Hoàng cột chú bò của mình vào cọc bằng một sợi dây.
Nếu sợi dây có độ dài \(l\) thì chú bò có thể di chuyển trong vòng tròn tâm \((a, b)\) và bán kính \(l\).

Yêu cầu

Hãy tìm độ dài \(l\) nguyên lớn nhất sao cho chú bò không thể ăn rơm từ bất kỳ một đống rơm nào.
Chú ý rằng, chú bò có thể ăn rơm của đống thứ \(i\) nếu đường tròn tâm \((a, b)\) bán kính \(l\) và đường tròn tâm \((x_i, y_i)\) bán kính \(r_i\) có điểm chung.

Dữ liệu nhập vào từ bàn phím

  • Dòng đầu chứa ba số nguyên \(n, a, b\) (\(|a|, |b| \leq 10^9\)).
  • Dòng thứ \(i\) trong \(n\) dòng tiếp theo chứa ba số nguyên \(x_i, y_i, r_i\) (\(|x_i|, |y_i|, r_i \leq 10^9\)).

Kết quả ghi ra màn hình

  • Một số nguyên duy nhất là giá trị \(l\) lớn nhất thỏa mãn.

Ví dụ

Input

1 0 0
0 9 3

Output

5

Giới hạn

  • Có 50% số test với \(n = 1\).
  • Có 50% số test còn lại với \(n \leq 100\).

Tìm số 3

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ố tự nhiên N, hãy tìm số tự nhiên lớn nhất nhỏ hơn N và chia hết cho 3.

Dữ liệu vào

  • Một dòng duy nhất chứa số tự nhiên N.

Dữ liệu ra

  • In ra kết quả tìm được.

Ràng buộc

  • \(1 \le N \le 1000\)

Ví dụ

Input Output
10 9
6 3

Mật Mã Lặp

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

An là một nhà khoa học dữ liệu. Khi phân tích các chuỗi văn bản, anh nhận thấy một số chuỗi được tạo ra bằng cách lặp đi lặp lại một chuỗi con ngắn hơn. An đã nghĩ ra một phương pháp "rút gọn" để biểu diễn các chuỗi này một cách hiệu quả.

Cách rút gọn một chuỗi \(S\) được mô tả như sau:

  1. Tìm một chuỗi \(X\) ngắn nhất có thể.
  2. Tìm một số nguyên \(K\) sao cho khi viết chuỗi \(X\) lặp lại đúng \(K\) lần, ta sẽ thu được chuỗi \(S\) ban đầu.
  3. Kết quả rút gọn sẽ là chuỗi được ghép bởi \(K\)\(X\).

Yêu cầu

Hãy viết chương trình giúp An tìm dạng rút gọn của một chuỗi \(S\) cho trước.


Dữ liệu vào

  • Một dòng duy nhất chứa chuỗi \(S\) chỉ gồm các chữ cái Latinh in thường.

Kết quả ra

  • In ra dạng rút gọn của chuỗi \(S\).

Ràng buộc

  • Độ dài của chuỗi \(S\) không vượt quá 1000 ký tự.

Ví dụ

Input Output Giải thích
abababab 4ab Chuỗi con lặp lại ngắn nhất là "ab". Lặp lại 4 lần sẽ tạo thành chuỗi ban đầu.
aaa 3a Chuỗi con lặp lại ngắn nhất là "a". Lặp lại 3 lần.
abac 1abac Không có chuỗi con nào ngắn hơn có thể lặp lại để tạo thành "abac". Vì vậy, chuỗi ngắn nhất chính là "abac", lặp lại 1 lần.

Dãy LEGO Hoàn Hảo

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

Cho một dãy gồm n khối LEGO với chiều cao cho trước. Một dãy được coi là hoàn hảo nếu chiều cao của các khối không giảm khi xét từ trái sang phải (ví dụ: 1 1 2 3 3).

Bạn được phép thực hiện thao tác sau đúng một lần:

  • Chọn một hoặc nhiều khối LEGO bất kỳ.
  • Giảm chiều cao của mỗi khối đã chọn đi đúng 1 đơn vị.

Hỏi liệu có cách nào để biến dãy LEGO ban đầu thành một dãy hoàn hảo hay không?


Dữ liệu vào

  • Dòng đầu tiên chứa số nguyên n (\(1 \le n \le 10^5\)).
  • Dòng thứ hai chứa n số nguyên là chiều cao của các khối LEGO (\(1 \le H_i \le 10^9\)).

Dữ liệu ra

  • In ra "Yes" nếu có thể tạo được dãy hoàn hảo, ngược lại in ra "No".

Ví dụ

Input Output
5
1 2 1 1 2
Yes
4
1 3 2 1
No

Giải thích ví dụ 1:
Ta có thể chọn khối thứ hai (chiều cao 2) và giảm chiều cao của nó đi 1. Dãy mới sẽ là 1 1 1 1 2, là một dãy hoàn hảo.


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

Cho một dãy gồm n số nguyên. Một đoạn con là một dãy các phần tử liền kề nhau trong dãy ban đầu.

Yêu cầu: Hãy tìm độ dài của đoạn con ngắn nhất chứa được cả giá trị lớn nhất và giá trị nhỏ nhất của toàn bộ dãy số.


Dữ liệu vào

  • Dòng đầu tiên chứa số nguyên n (\(1 \le n \le 10^5\)).
  • Dòng thứ hai chứa n số nguyên \(a_1, a_2, \dots, a_n\).

Dữ liệu ra

  • In ra một số nguyên duy nhất là độ dài của đoạn con ngắn nhất tìm được.

Ví dụ

Input Output
8
1 3 6 2 8 1 3 8
2

Giải thích:

  • Trong dãy số đã cho, giá trị nhỏ nhất là 1 và giá trị lớn nhất là 8.
  • Có nhiều đoạn con chứa cả 18, ví dụ:
    • [1, 3, 6, 2, 8] (dài 5)
    • [8, 1] (dài 2)
    • [1, 3, 8] (dài 3)
  • Trong số đó, đoạn con [8, 1] là ngắn nhất với độ dài là 2.