Điều hướng chính

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.

root

Số chữ số

100 điểm

Khi nghiên cứu về chủ đề số học, Quân rất yêu thích độ dài của số. Độ dài của số nguyên dương \(n\) theo định nghĩa của Quân chính là số lượng chữ số của \(n\).

Ví dụ \(123456\) có số lượng chữ số là \(6\) chữ số.

Viết chương trình nhập vào từ bàn phím một số nguyên dương \(n\) \((n \leq 10^{18})\). Hãy in ra màn hình số lượng chữ số của \(n\).

Input

Số nguyên dương \(n\) \((n \leq 10^{18})\).

Output

Yêu cầu bài toán.

Example

Test 1

Input
123456
Output
6

Test 2

Input
2
Output
1

Test 3

Input
2323
Output
4

root

Mật mã

100 điểm

Mật mã để mở kho báu được giấu trong một xâu kí tự.
Xâu kí tự này gồm \(4\) loại kí tự là a, b, c, d và kí tự 0.

Đặc biệt, xâu kí tự này có thể nối hai đầu lại với nhau để tạo thành một vòng tròn.
Ngoài ra, ta có thể thay mỗi kí tự 0 bằng một kí tự bất kì trong các kí tự từ a đến d.

Mật mã của xâu được định nghĩa là độ dài lớn nhất của một xâu con liên tiếp chỉ chứa đúng một loại kí tự.

Yêu cầu:
Hãy xác định mật mã lớn nhất có thể đạt được sau khi thay thế các kí tự 0 một cách hợp lí.

\InputFile

Gồm một dòng duy nhất chứa xâu \(S\) gồm các kí tự a, b, c, d và 0.
Độ dài của xâu không vượt quá \(10^5\).

\OutputFile

In ra một số nguyên dương duy nhất --- giá trị mật mã của xâu.

\Scoring

  • Có \(50\%\) số test ứng với độ dài xâu \(\le\) 1000.

Example

Test 1

Input
0ddc0ba
Output
3

Test 2

Input
0dc0b
Output
3

root

Ngoặc đúng

100 điểm

Bạn được cho một xâu \(s\) độ dài \(n\) chỉ gồm các ký tự ( hoặc ).
Ta gọi \(t_i\) là xâu xoay vòng thứ \(i\) của \(s\) \((0 \le i < n)\), với:
$
t_i = s_{i+1}s_{i+2}\ldots s_{n}\,s_{1}s_{2}\ldots s_{i}.
$

Ta biết rằng, một xâu ngoặc đúng thỏa các tính chất sau:

  • Xâu rỗng là xâu ngoặc đúng.
  • Nếu \(A\) là xâu ngoặc đúng, thì ( \(A\) ) cũng là xâu ngoặc đúng.
  • Nếu \(A\) và \(B\) là hai xâu ngoặc đúng, thì \(AB\) cũng là xâu ngoặc đúng.

Gọi \(f(s)\) là số lượng các xâu \(t_i\) trong \(n\) xâu xoay vòng của \(s\) mà \(t_i\) là xâu ngoặc đúng.
Bạn được phép thực hiện đổi chỗ hai ký tự bất kỳ trong xâu \(s\) không quá \(k\) lần.
Hãy tìm cách đổi chỗ sao cho \(f(s)\) là lớn nhất.

\InputFile

  • Dòng đầu tiên chứa hai số nguyên \(n, k\) (\(1 \le n \le 5 \times 10^4\), \(0 \le k \le 9\))--- độ dài xâu và số lần đổi chỗ tối đa.
  • Dòng thứ hai chứa xâu \(s\) độ dài \(n\) gồm chỉ hai ký tự ( và ).
    Dữ liệu đảm bảo số lượng dấu ( và ) là bằng nhau.

\OutputFile

  • In ra một số nguyên duy nhất là giá trị lớn nhất có thể của \(f(s)\).

\Scoring

  • Subtask 1 (7 điểm): \(n \le 500\), \(k = 0\).
  • Subtask 2 (9 điểm): \(n \le 20\), \(k = 1\).
  • Subtask 3 (18 điểm): \(n \le 500\), \(k = 1\).
  • Subtask 4 (14 điểm): \(k = 0\).
  • Subtask 5 (16 điểm): \(n \le 2000\), \(k = 1\).
  • Subtask 6 (19 điểm): \(k = 1\).
  • Subtask 7 (17 điểm): Không có ràng buộc bổ sung.

Example

Test 1

Input
4 1
(())
Output
2

Test 2

Input
6 0
(())()
Output
2

root

Dãy đặc biệt

100 điểm

Cho hai dãy số nguyên cùng độ dài \(n\):
$
A=(a_1,a_2,\dots,a_n),\qquad B=(b_1,b_2,\dots,b_n),
$
và một số nguyên dương \(d\). Một dãy chỉ số \(i_1,i_2,\dots,i_k\) được gọi là đặc biệt nếu thỏa mãn:

  • \(1 \le i_1 < i_2 < \dots < i_k \le n\);
  • \(|a_{i_j}-a_{i_{j-1}}|\le d\) cho mọi \(j=2,\dots,k\);
  • \(|b_{i_j}-b_{i_{j-1}}|\le d\) cho mọi \(j=2,\dots,k\).

Yêu cầu: Tìm một dãy chỉ số đặc biệt có số phần tử lớn nhất; in ra kích thước của dãy đó.

\InputFile

  • Dòng đầu chứa hai số nguyên dương \(n,d\) (\(n \le 10^5\), \(d \le 10^9\)).
  • Dòng thứ hai chứa \(n\) số nguyên \(a_1,a_2,\dots,a_n\) (với \(|a_i|\le 10^9\)).
  • Dòng thứ ba chứa \(n\) số nguyên \(b_1,b_2,\dots,b_n\) (với \(|b_i|\le 10^9\)).

\OutputFile

  • Ghi ra một số nguyên duy nhất --- kích thước của dãy chỉ số đặc biệt dài nhất.

\Scoring

  • Có \(20\%\) số điểm với \(n \le 20\).
  • Có \(20\%\) số điểm với \(n \le 2000\).
  • Có \(20\%\) số điểm với \(n \le 30000\).
  • Có \(20\%\) số điểm với \(b_1=b_2=\dots=b_n\).
  • Phần còn lại không có ràng buộc gì thêm.

Example

Test 1

Input
5 3
1 2 3 4 5
5 1 4 3 2
Output
4

Test 2

Input
10 187
110 -187 554 -722 811 -930 346 24 933 132
113 72 -962 77 -242 -118 256 -759 -756 368
Output
1
Xem thêm