Đ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.

Dễ

Số nguyên tố 3

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

root

Cho dãy số nguyên (\(a_1, a_2, ..., a_n\)), \(1 \le n \le 10000\); với mọi \(i\) sao cho \(a_i \le 10^8\).

  • Hãy tìm số nguyên tố lớn nhất trong dãy trên.

Input

  • Dòng thứ nhất chứa số nguyên dương \(n\).

  • Dòng thứ hai chứa \(n\) số nguyên \(a_1, a_2, ..., a_n\).

Output

  • Dòng thứ nhất ghi số nguyên tố lớn nhất.

  • Dòng thứ hai ghi các chỉ số trong dãy mà giá trị của nó là số nguyên tố lớn nhất.

Example

Test 1

Input
9
19 7 81 33 17 4 19 21 13
Output
19
1 7 
Dễ

Tiền tố DNA

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

root

Tại một phòng thí nghiệm sinh học nổi tiếng, nhà khoa học trẻ Alex đang thực hiện một dự án đột phá về gene di truyền. Alex có một bộ sưu tập gồm \(n\) mẫu DNA, mỗi mẫu là một chuỗi ký tự từ tập hợp \(\{A, C, G, T\}\). Để phục vụ cho nghiên cứu, Alex cần tìm một tập hợp con các mẫu DNA có đặc điểm rất đặc biệt: giá trị của độ dài tiền tố chung dài nhất của tập hợp con đó, nhân với số lượng mẫu trong tập hợp con, phải đạt giá trị tối đa.

Ví dụ, nếu Alex có các mẫu DNA sau:

  • ACGT
  • ACGTGCGT
  • ACCGTGC
  • ACGCCGT

Nếu Alex chọn tập hợp con chỉ có mẫu \ACGT\, kết quả sẽ là \(4 \times 1 = 4\).
Nếu anh ấy chọn \ACGT, ACGTGCGT, ACGCCGT\, tiền tố chung dài nhất là ACG có độ dài 3. Kết quả là \(3 \times 3 = 9\).
Nếu anh ấy chọn tất cả các mẫu \ACGT, ACGTGCGT, ACCGTGC, ACGCCGT\, tiền tố chung dài nhất là AC có độ dài 2. Kết quả là \(2 \times 4 = 8\).

Nhiệm vụ của bạn là giúp Alex tìm ra giá trị tối đa có thể nhận được từ bất kỳ tập hợp con nào của các mẫu DNA đã cho.

Input

  • Dòng đầu tiên là số nguyên \(T\) \((T \le 10)\), biểu thị số lượng trường hợp thử nghiệm.
  • Mỗi trường hợp bắt đầu bằng một dòng chứa số nguyên \(n\) \((1 \le n \le 50000)\) biểu thị số lượng mẫu DNA.
  • Mỗi dòng trong số \(n\) dòng tiếp theo chứa một chuỗi không rỗng có độ dài không lớn hơn 50. Và các chuỗi chỉ chứa các ký tự từ \(\{A, C, G, T\}\).

Output

Đối với mỗi trường hợp, in ra một dòng duy nhất theo định dạng: "Case [số trường hợp]: [kết quả tối đa]", trong đó [số trường hợp] bắt đầu từ 1.

Example

Test 1

Input
3
4
ACGT
ACGTGCGT
ACCGTGC
ACGCCGT
3
CGCGCGCGCGCGCCCCGCCCGCGC
CGCGCGCGCGCGCCCCGCCCGCAC
CGCGCGCGCGCGCCCCGCCCGCTC
2
CGCGCCGCGCGCGCGCGCGC
GGCGCCGCGCGCGCGCGCTC
Output
Case 1: 9
Case 2: 66
Case 3: 20
Dễ

Quân mã

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

root

Cho một quân mã được đặt trên mặt phẳng tọa độ Descartes. Trong mỗi bước di chuyển, quân mã có thể đi theo một trong bốn vector chỉ phương \((2, -1)\); \((2, 1)\); \((1, 2)\) và \((-1, 2)\) như hình vẽ dưới đây:

\begincenter

\endcenter

Cho biết quân mã đang ở điểm có tọa độ \((x_1, y_1)\) và quân mã cần đi tới điểm có tọa độ \((x_2, y_2)\). Hãy đếm số cách quân mã có thể làm được điều này. Do kết quả có thể rất lớn, hãy in ra theo modulo \(998244353\).

Input

Dòng đầu tiên chứa số nguyên \(t\) \((1 \leq t \leq 10^5)\) là số câu hỏi.

\(t\) dòng tiếp theo, mỗi dòng chứa bốn số nguyên \(x_1, y_1, x_2, y_2\) \((1 \leq x_1, y_1, x_2, y_2 \leq 2000)\) cho biết vị trí xuất phát và vị trí cần tới của quân mã.

Output

In ra \(t\) số nguyên là đáp án của \(t\) câu hỏi \(–\) số cách để quân mã đi từ vị trí xuất phát tới vị trí kết thúc, theo modulo \(998244353\).

Example

Test 1

Input
3
2 3 5 3
1 1 2 3
2 2 1 1
Output
3
1
0

Scoring

  • Subtask \(1\) (\(20\) điểm): \(x_1, y_1, x_2, y_2 \leq 5\)

  • Subtask \(2\) (\(15\) điểm): \(x_1, y_1, x_2, y_2 \leq 100\) và \(t \leq 10\)

  • Subtask \(3\) (\(15\) điểm): \(x_1, y_1, x_2, y_2 \leq 100\)

  • Subtask \(4\) (\(25\) điểm): \(x_1, y_1, x_2, y_2 \leq 2000\) và \(t \leq 10\)

  • Subtask \(5\) (\(25\) điểm): Không có ràng buộc gì thêm.

Dễ

Đếm cặp chỉ số

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

root

Cho một dãy \(A\) gồm \(n\) số nguyên dương \(a_1, a_2, \dots, a_n\).

Yêu cầu: Đếm tất cả các cặp chỉ số \(i, j\) \((1 \le i \le j \le n)\) sao cho tổng các phần tử liên tiếp từ chỉ số \(i\) đến chỉ số \(j\) trong dãy \(A\) là một số chẵn.

Cụ thể, ta định nghĩa:
$
S_{ij} = a_i + a_{i+1} + \dots + a_j
$

Yêu cầu: Đếm số lượng cặp \((i, j)\) sao cho \(S_{ij}\) là số chẵn.

Input

Dữ liệu được đọc từ file CPAIR.INP:

  • Dòng đầu chứa số nguyên dương \(n\) (\(1 \le n \le 10^6\)) --- số phần tử của dãy \(A\).
  • \(n\) dòng tiếp theo, mỗi dòng chứa một số nguyên dương \(a_i\) (\(1 \le a_i \le 10^9\)) --- phần tử thứ \(i\) của dãy.

Output

Ghi ra file CPAIR.OUT một dòng duy nhất chứa số nguyên --- kết quả bài toán: số lượng cặp \((i, j)\) thoả mãn điều kiện tổng là số chẵn.

Example

Test 1

Input
4
2
5
6
8
Output
4
Note

Giải thích: Có tổng cộng \(4\) cặp chỉ số \((i, j)\) thoả mãn điều kiện:

  • \((1, 1)\): \(2\) là chẵn
  • \((3, 3)\): \(6\) là chẵn
  • \((3, 4)\): \(6 + 8 = 14\) là chẵn
  • \((4, 4)\): \(8\) là chẵn

Scoring

  • 20% test có \(1 \le n \le 10^2\), \(1 \le a_i \le 10^9\)
  • 20% test có \(1 \le n \le 10^3\), \(1 \le a_i \le 10^9\)
  • 60% test có \(1 \le n \le 10^6\), \(1 \le a_i \le 10^9\)
Xem thêm