Học sinh giỏi lớp 12 thành phố Hà Nội năm 2025 - 2026 - Bảng a


Trí tuệ nhân tạo

Nộp bài
Điểm: 6 Thời gian: 1.0s Bộ nhớ: 500M Input: TTNT.INP Output: TTNT.OUT

Một trí tuệ nhân tạo cần kết nối với một máy chủ từ xa để đồng bộ hóa dữ liệu. Máy chủ này hoạt động theo một chu kỳ cố định để bảo trì và tối ưu hiệu năng:

  • \(X\) giây ở trạng thái Online (cho phép kết nối);
  • Sau đó, \(S\) giây ở trạng thái Offline (từ chối mọi kết nối).

Chu kỳ này lặp lại liên tục và bắt đầu từ giây thứ 1 với trạng thái Online.

Yêu cầu: Một trí tuệ nhân tạo gửi yêu cầu kết nối đến máy chủ vào giây thứ \(T\). Hãy kiểm tra tại giây thứ \(T\), máy chủ đang ở trạng thái Online hay Offline?

Input

  • Dòng đầu tiên gồm số nguyên dương \(X\) \((1 \leq X \leq 10^9)\).
  • Dòng thứ hai gồm số nguyên dương \(S\) \((1 \leq S \leq 10^9)\).
  • Dòng thứ ba gồm số nguyên dương \(T\) \((1 \leq T \leq 10^9)\).

Output

  • Nếu tại giây thứ \(T\) máy chủ đang Offline ghi ra số 0, máy chủ đang Online ghi ra số 1.

Scoring

  • Subtask \(1\) (\(80\%\) số điểm): \(T \leq 10^6\).
  • Subtask \(2\) (\(20\%\) số điểm): không có ràng buộc thêm.

Example

Test 1

Input
5
7
5
Output
1

Test 2

Input
5
7
20
Output
0

Đèn lồng

Nộp bài
Điểm: 5 Thời gian: 1.0s Bộ nhớ: 500M Input: DL.INP Output: DL.OUT

Nhân dịp Tết Trung thu, khu phố đã treo \(N\) chiếc đèn lồng có màu vàng và màu đỏ, từ trái sang phải. Một dãy đèn lồng liên tiếp được gọi là “đẹp” nếu số lượng đèn màu vàng gấp đôi số lượng đèn màu đỏ.

Yêu cầu: Cho một xâu \(S\) chỉ gồm các ký tự VD mô tả dãy đèn lồng, ký tự V mô tả đèn lồng màu vàng và ký tự D mô tả đèn lồng màu đỏ. Hãy tìm độ dài của dãy đèn lồng “đẹp” dài nhất.

Input

  • Một xâu \(S\) chỉ gồm các ký tự VD mô tả dãy đèn có độ dài không vượt quá \(10^5\).

Output

  • Một số nguyên duy nhất là kết quả của bài toán.

Scoring

  • Subtask \(1\) (\(60\%\) số điểm): độ dài xâu \(S\) không vượt quá \(100\).
  • Subtask \(2\) (\(20\%\) số điểm): độ dài xâu \(S\) không vượt quá \(1000\).
  • Subtask \(3\) (\(20\%\) số điểm): không có ràng buộc thêm.

Example

Test 1

Input
VDVVDDVVD 
Output
6
Note

Dãy đèn lồng “đẹp” dài nhất được in đậm: VDVVDDVVD.


Rừng cây

Nộp bài
Điểm: 4 Thời gian: 1.0s Bộ nhớ: 500M Input: RC.INP Output: RC.OUT

Trong một khu rừng có \(N\) cây. Các cây được đánh số từ \(1\) đến \(N\), có tất cả \(M\) loại cây.

Cây thứ \(i\) thuộc loại \(B_{i}\) \((1 \leq B_{i} \leq M)\) và có chiều cao là \(C_{i}\).

Chênh lệch chiều cao của rừng cây được tính theo công thức: tổng các giá trị tuyệt đối của hiệu chiều cao giữa tất cả các cặp cây khác loại nhau. Nghĩa là chênh lệch chiều cao của rừng cây được tính bằng công thức:

\[\sum |C_{i} − C_{j}| \forall 1 \leq i < j \leq N \text{ và } B_{i} \neq B_{j}\]

Yêu cầu: Hãy tính chênh lệch chiều cao của rừng cây đã cho.

Input

  • Dòng đầu tiên gồm hai số nguyên dương \(N\)\(M\) \((1 \leq N \leq 10^5; M \leq N)\);
  • Dòng thứ hai gồm \(N\) số nguyên dương \(B_{i}\) \((1 \leq B_{i} \leq M)\);
  • Dòng thứ ba gồm \(N\) số nguyên dương \(C_{i}\) \((1 \leq C_{i} \leq 10^9)\).

Output

  • Một số nguyên duy nhất là chênh lệch chiều cao của rừng cây đã cho.

Scoring

  • Subtask \(1\) (\(60\%\) số điểm): \(1 \leq N \leq 1000; 1 \leq C_{i} \leq 200\);
  • Subtask \(2\) (\(20\%\) số điểm): \(1 \leq N \leq 10^5; M = 2\);
  • Subtask \(3\) (\(20\%\) số điểm): không có ràng buộc thêm.

Example

Test 1

Input
5 3
1 2 3 2 1
3 4 5 6 7
Output
14
Note

Chênh lệch chiều cao của rừng cây là:
\(|C_{1} − C_{2}| + |C_{1} − C_{3}| + |C_{1} − C_{4}| + |C_{2} − C_{3}| + |C_{2} − C_{5}| + |C_{3} − C_{4}| + |C_{3} − C_{5}| + |C_{4} − C_{5}| = |3 − 4| + |3 − 5| + |3 − 6| + |4 − 5| + |4 − 7| + |5 − 6| + |5 − 7| + |6 − 7| = 1 + 2 + 3 + 1 + 3 + 1 + 2 + 1 = 14\)


Dãy F-Fibonacci

Nộp bài
Điểm: 3 Thời gian: 1.0s Bộ nhớ: 500M Input: DF.INP Output: DF.OUT

Với hai số nguyên dương \(X, Y\) cho trước, dãy F-Fibonacci là dãy số được định nghĩa như sau:

  • \(F_{0} = 𝑋; F_{1} = Y\).
  • \(F_{i} = F_{i−1} + F_{i−2}\) với mọi \(i \geq 2\).

Cho dãy \(A\) gồm \(N\) số nguyên dương \(A_{1}, A_{2}, A_{3}, \ldots, A_{N}\). Người ta muốn chia dãy \(A\) thành các đoạn con liên tiếp sao cho tổng các phần tử của mỗi đoạn con đều thuộc dãy F-Fibonacci.

Yêu cầu: Hãy đếm số cách chia dãy \(A\) thành các đoạn con sao cho tổng các phần tử của mỗi đoạn
con đều thuộc dãy F-Fibonacci.

Input

  • Dòng đầu tiên gồm số nguyên dương \(N\) \((1 \leq N \leq 10^5)\);
  • Dòng thứ hai gồm \(N\) số nguyên dương \(A_{1}, A_{2}, A_{3}, \ldots, A_{N}\) \((1 \leq A_{i} \leq 10^9; 1 \leq i \leq N)\);
  • Dòng thứ ba gồm hai số nguyên dương \(X\)\(Y\) \((1 \leq X \leq Y \leq 100)\).

Output

  • Một số nguyên duy nhất là kết quả bài toán sau khi chia dư cho \(10^{9} + 7\).

Scoring

  • Subtask \(1\) (\(40\%\) số điểm): \(1 \leq N \leq 20; 1 \leq A_{i} \leq 10^{5} (1 \leq i \leq N)\);
  • Subtask \(2\) (\(40\%\) số điểm): \(1 \leq N \leq 1000\).
  • Subtask \(3\) (\(20\%\) số điểm): không có ràng buộc thêm.

Example

Test 1

Input
6
1 3 2 2 1 4
1 1
Output
4
Note

Có 4 cách chia dãy số thỏa mãn như sau:

  • \(\{1\},\{3\},\{2\},\{2\},\{1, 4\}\).
  • \(\{1\},\{3 2\},\{2\},\{1, 4\}\).
  • \(\{1 3 2 2\},\{1 4\}\).
  • \(\{1 3 2 2 1 4\}\).

Thông tin

Nộp bài
Điểm: 2 Thời gian: 1.0s Bộ nhớ: 500M Input: TT.INP Output: TT.OUT

Trong sứ mệnh khám phá bản đồ số, một rô-bốt tự hành được giao một nhiệm vụ di chuyển dọc theo một dãy gồm \(N\) điểm thu thập thông tin, được đánh số từ \(1\) đến \(N\).

Điểm thu thập thông tin \(i\) \((1 \leq i \leq N)\) có lượng dữ liệu là \(A_{i}\), nếu rô-bốt thu thập thông tin tại điểm này thì sẽ tiêu thụ \(W_{i}\) năng lượng.

Rô-bốt được lập trình để quét các điểm thông tin liên tiếp và phải tuân thủ nghiêm ngặt các điều kiện sau:

  • Số lượng điểm thu thập thông tin được quét phải là bội số của \(K\) (để đảm bảo tính toàn
    vẹn của các gói thông tin);
  • Tổng năng lượng tiêu thụ để rô-bốt thu thập thông tin không được vượt quá giới hạn \(S\) của pin. Coi năng lượng tiêu thụ khi di chuyển qua các điểm thông tin bằng \(0\).

Yêu cầu: Hãy viết chương trình lập trình cho rô-bốt để tìm ra các điểm thông tin liên tiếp thỏa mãn điều kiện trên mà tổng lượng dữ liệu thu thập được là lớn nhất.

Input

  • Dòng đầu tiên gồm ba số nguyên \(N, K\)\(S\) \((1 \leq K \leq N \leq 10^5; 1 \leq S \leq 10^{12})\);
  • Dòng thứ hai gồm \(N\) số nguyên \(A_{1}, A_{2}, \ldots, A_{N}\) \((|A_{i}| \leq 10^{9}; 1 \leq i \leq N)\);
  • Dòng thứ ba gồm \(N\) số nguyên \(W_{1}, W_{2}, \ldots, W_{N}\) \((0 \leq W_{i} \leq 10^{9}; 1 \leq i \leq N)\).

Output

  • Gồm một số nguyên là lượng dữ liệu thu thập được lớn nhất. Nếu không tồn tại các điểm thông tin liên tiếp nào khả thi, ghi ra số \(0\).

Scoring

  • Subtask \(1\) (\(25\%\) số điểm): \(N \leq 100\);
  • Subtask \(2\) (\(25\%\) số điểm): \(W_{i} = 0\) \((1 \leq i \leq N)\);
  • Subtask \(3\) (\(25\%\) số điểm): \(K = 1\);
  • Subtask \(4\) (\(25\%\) số điểm): không có ràng buộc thêm.

Example

Test 1

Input
5 2 6
3 -1 2 5 -2
2 1 2 2 1
Output
7
Note
  • Chọn hai điểm thông tin liên tiếp là: \(3\) và \(4\). (có số lượng điểm thu thập thông tin là \(2\), chia hết cho \(K\));
  • Tổng năng lượng tiêu thụ: \(2 + 2 = 4 < 6\);
  • Tổng lượng dữ liệu thu thập được: \(2 + 5 = 7\).

Test 2

Input
3 2 5
10 20 5
1 1 1
Output
30
Note
  • Chọn hai điểm thông tin liên tiếp là: \(1\) và \(2\). (có số lượng điểm thu thập thông tin là \(2\), chia hết cho \(K\));
  • Tổng năng lượng tiêu thụ: \(1 + 1 = 2 < 5\);
  • Tổng lượng dữ liệu thu thập được: \(10 + 20 = 30\).