Điều hướng chính

Nhắn tin NQ Coding

Ngôn ngữ

Phím tắt

/
Chuyển đến ô tìm bài
g p
Đi đến bài tập
g c
Đi đến kỳ thi
g u
Đi đến người dùng
?
Mở trợ giúp phím tắt

Bài tập

Bài được chọn theo nhịp luyện tập của bạn, cùng mọi bài mới vừa lên.

Dễ

Xâu chuỗi vỏ ốc

100 điểm 0% AC 0 đã giải

staffagent

Sắn dạo dọc bờ biển và lần lượt nhìn thấy \(n\) chiếc vỏ ốc, chiếc thứ \(i\) có kích thước \(a_i\). Bạn ấy muốn xâu một số vỏ ốc thành một chuỗi theo cách sau:

  • Ban đầu chuỗi rỗng.
  • Với mỗi vỏ ốc gặp theo thứ tự, Sắn có thể bỏ qua, hoặc xâu vào đầu trái của chuỗi, hoặc xâu vào đầu phải của chuỗi (chiếc đầu tiên được lấy thì chuỗi chỉ có một vỏ).
  • Khi kết thúc, đọc chuỗi từ trái sang phải thì kích thước các vỏ ốc phải tăng ngặt (\(a\) bên trái nhỏ hơn hẳn \(a\) bên phải liền kề).

Hãy tìm số vỏ ốc lớn nhất có thể có trong chuỗi.

Input

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

Output

In ra một số nguyên là số vỏ ốc lớn nhất của chuỗi.

Constraints

  • \(1 \le n \le 5000\)
  • \(0 \le a_i \le 10^9\)

Sample Input 1

6
3 5 3 2 6 1

Sample Output 1

5

Sample Input 2

8
6 2 9 4 4 5 8 1

Sample Output 2

5

Explanation

Ví dụ 1: lấy \(3\); lấy \(5\) xâu bên phải (chuỗi \(3, 5\)); bỏ qua \(3\); lấy \(2\) xâu bên trái (\(2, 3, 5\)); lấy \(6\) xâu bên phải (\(2, 3, 5, 6\)); lấy \(1\) xâu bên trái (\(1, 2, 3, 5, 6\)).

Ví dụ 2: bỏ \(6\), lấy \(2\); lấy \(4\) xâu bên phải, bỏ chiếc \(4\) thứ hai, lấy \(5\), rồi \(8\) xâu bên phải (\(2, 4, 5, 8\)); cuối cùng lấy \(1\) xâu bên trái (\(1, 2, 4, 5, 8\)).

Dễ

Ước chung lớn nhất Euclid

100 điểm 100% AC 1 đã giải

staffagent

Cho hai số nguyên dương \(a\) và \(b\). Hãy tìm ước chung lớn nhất của chúng bằng thuật toán Euclid.

Input

Một dòng chứa hai số nguyên dương \(a\) và \(b\).

Output

In ra ước chung lớn nhất của \(a\) và \(b\).

Constraints

  • \(1 \le a, b \le 10^{18}\)

Sample Input 1

12 18

Sample Output 1

6

Sample Input 2

7 7

Sample Output 2

7

Sample Input 3

100 25

Sample Output 3

25
Dễ

Thống kê

100 điểm 33% AC 2 đã giải

root

Nhà phân phối ABC chuyên phân phối các dòng sản phẩm nổi tiếng, hiện trong kho hàng còn \(n\) sản phẩm chưa phân phối, mỗi loại sản phẩm đưuọc đánh dấu bằng một kí hiệu là một số nguyên dương (hai loại sản phẩm bất kì khác nhau thì có kí hiệu khác nhau, hai sản phẩm cùng loại thì có kí hiệu giống nhau).

Em hãy giúp nhà phân phối thống kê xem trong kho còn lại những sản phẩm nào và có bao nhiêu loại sản phẩm khác nhau.

Input

Dữ liệu vào: Từ tệp TK.INP:

  • Dòng đầu ghi số nguyên dương \(n\) (\(1 \le n \le 10^6\)) --- số sản phẩm còn lại trong kho.
  • Dòng thứ hai ghi \(n\) số nguyên dương \(a_1, a_2, \dots, a_n\) (\(a_i \le 10^6\)) là kí hiệu của từng sản phẩm (cách nhau một dấu cách).

Output

Dữ liệu ra: Ghi vào tệp TK.OUT theo cấu trúc:

  • Dòng đầu ghi kí hiệu các oloaij sản phẩm còn lại trong kho, ghi theo thứ tự xuất hiện trong tệp đầu vào, các số ghi cách nhau một dấu cách trống.
  • Dòng thứ hai ghi một số duy nhất --- số loại sản phẩm khác nhau tìm được.

Example

Test 1

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

Scoring

  • Có \(50\%\) số test tương ứng với \(50\%\) số điểm có \(n \leq 10^3\).
  • Có \(50\%\) số test còn lại ứng với \(50\%\) số điểm của bài tương ứng với các trường hợp còn lại.
Dễ

Dãy sóng Wavio

100 điểm 0% AC 0 đã giải

staffagent

Một dãy số được gọi là dãy Wavio nếu nó có dạng: tăng ngặt dần lên một phần tử đỉnh, sau đó giảm ngặt dần xuống. Cả phần tăng (bên trái đỉnh) và phần giảm (bên phải đỉnh) đều phải có ít nhất một phần tử. Ví dụ \(1, 2, 3, 4, 5, 2, 1\) là dãy Wavio độ dài \(7\).

Cho dãy \(A\) gồm \(N\) số nguyên, hãy tìm độ dài lớn nhất của một dãy con (không nhất thiết liên tiếp) của \(A\) là dãy Wavio. Nếu không tồn tại dãy con Wavio nào, in ra \(1\).

Input

  • Dòng đầu chứa số nguyên \(N\).
  • Dòng thứ hai chứa \(N\) số nguyên \(A_1, \dots, A_N\).

Output

In ra một số nguyên: độ dài lớn nhất của dãy con Wavio (hoặc \(1\) nếu không có).

Constraints

  • \(2 \le N \le 5000\)
  • \(|A_i| \le 10^9\)

Sample Input 1

9
2 4 6 9 7 5 3 3 1

Sample Output 1

8

Sample Input 2

4
8 6 6 3

Sample Output 2

1

Explanation

Ví dụ 1: chọn \(2, 4, 6, 9, 7, 5, 3, 1\) (bỏ một số \(3\)) được độ dài \(8\). Ví dụ 2: dãy không có phần tăng nào nên không có dãy con Wavio, kết quả là \(1\).

Xem thêm