Contest ôn HSG 9-10 #11

Bộ đề bài

# Bài tập Điểm Thời gian: Giới hạn bộ nhớ
1 Tổng 20 (p) 1.0s 256M
2 Khớp xâu 30 (p) 0.5s 256M
3 Angry Cats (AC) 30 (p) 0.75s 256M
4 Cờ vua 20 (p) 1.0s 256M

1. Tổng

Điểm: 20 (p) 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 \(n\)\(k\). Hãy tính tổng các số tự nhiên chia hết cho \(k\) nằm trong đoạn từ \(1\) đến \(n\).

Input

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

Output

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

Example

Test 1

Input
10 3
Output
18
Note

Các số chia hết cho 3 trong khoảng từ 1 đến 10 là: 3, 6, 9. Tổng của chúng là 18.

Scoring

  • Subtask 1 (\(70\%\) số điểm): \(n, k \le 10^6\).
  • Subtask 2 (\(30\%\) số điểm): \(n, k \le 10^9\).

2. Khớp xâu

Điểm: 30 (p) Thời gian: 0.5s Bộ nhớ: 256M Input: MATCH.INP Output: MATCH.OUT

Quang đang tham gia một trò chơi giải đố mang tên "Mò kim đáy bể". Trong trò chơi, Quang được cung cấp một văn bản rất dài (xâu \(S\)) và một từ khóa bí mật (xâu mẫu \(P\)). Nhiệm vụ của cậu là phải đếm xem từ khóa bí mật đó xuất hiện bao nhiêu lần trong đoạn văn bản đã cho.

Yêu cầu: Cho xâu mẫu \(P\) và xâu văn bản \(S\). Hãy đếm số lần xuất hiện của xâu \(P\) trong xâu \(S\).

Input

Đọc từ tệp văn bản MATCH.INP:

  • Dòng đầu tiên chứa xâu mẫu \(P\).
  • Dòng thứ hai chứa xâu văn bản \(S\).

(Dữ liệu đảm bảo các xâu chỉ chứa các chữ cái in thường và không có khoảng trắng).

Output

Ghi ra tệp văn bản MATCH.OUT:

  • Một số nguyên duy nhất là số lần xâu mẫu \(P\) xuất hiện trong xâu văn bản \(S\).

Example

Test 1

Input
aba
ababa
Output
2
Note

Xâu mẫu "aba" xuất hiện 2 lần trong xâu "ababa" (tại vị trí bắt đầu là 1 và 3).

Scoring

  • Subtask 1 (\(40\%\) số điểm): \(|S|, |P| \le 300\).
  • Subtask 2 (\(40\%\) số điểm): \(|S|, |P| \le 3000\).
  • Subtask 3 (\(20\%\) số điểm): \(|S|, |P| \le 3 \cdot 10^5\).

3. Angry Cats (AC)

Điểm: 30 (p) Thời gian: 0.75s Bộ nhớ: 256M Input: THREE.INP Output: THREE.OUT

Quỳnh đang cày hạng Kim cương trong trò chơi Angry Cats. Đội hình mèo của Quỳnh gồm \(n\) con mèo xếp thành một hàng ngang, chú mèo thứ \(i\) có chỉ số dễ thương là \(a_i\). Để vượt qua một ải đặc biệt, hệ thống yêu cầu người chơi phải chọn ra một đội hình gồm đúng ba con mèo nằm ở các vị trí \(i, j, k\) (\(i < j < k\)) sao cho độ dễ thương tổng hợp của chúng cân bằng với một mức \(X\) cho trước, theo công thức: \(a_i - a_j + a_k = X\).

Yêu cầu: Cho mảng \(A\) và số nguyên \(X\). Hãy đếm số lượng bộ ba chỉ số \((i, j, k)\) thỏa mãn \(i < j < k\)\(a_i - a_j + a_k = X\).

Input

Đọc từ tệp văn bản THREE.INP:

  • Dòng thứ nhất chứa hai số nguyên dương \(n\)\(X\) (\(1 \le X \le 10^6\)).
  • Dòng thứ hai chứa \(n\) số nguyên dương \(a_1, a_2, \dots, a_n\) (\(1 \le a_i \le 10^6\)).

Output

Ghi ra tệp văn bản THREE.OUT:

  • Một số nguyên duy nhất là số lượng bộ ba thỏa mãn yêu cầu.

Example

Test 1

Input
4 3
2 3 5 4
Output
1
Note

Có 1 bộ ba thỏa mãn là \((i=1, j=2, k=4)\)\(a_1 - a_2 + a_4 = 2 - 3 + 4 = 3\).

Scoring

  • Subtask 1 (\(30\%\) số điểm): \(n \le 500\).
  • Subtask 2 (\(30\%\) số điểm): \(n \le 2000\).
  • Subtask 3 (\(40\%\) số điểm): \(n \le 7000\).

4. Cờ vua

Điểm: 20 (p) Thời gian: 1.0s Bộ nhớ: 256M Input: CHESS.INP Output: CHESS.OUT

Nghỉ trưa sau ca trực trên thiên đình, Quan Văn và Quan Vũ cùng nhau chơi cờ. Đang trong thế bí, bất chợt Văn đánh đố Vũ: "Tại hạ có một câu đố cổ như sau. Trên một bàn cờ khổng lồ chia thành lưới ô vuông gồm \(n\) hàng và \(m\) cột. Nếu ta đặt 1 hạt thóc vào ô đầu tiên của hàng thứ nhất, 2 hạt vào ô thứ hai, 4 hạt vào ô thứ ba. Tiếp tục điền hết hàng 1 thì sang hàng 2, hết hàng 2 sang hàng 3... và tới cuối cùng là hàng thứ \(n\); sao cho ô tiếp theo luôn có số hạt thóc gấp đôi số lượng đặt vào ô trước đó. Dưới hạ giới nghiên cứu bài toán này 200 năm qua nên đã tính được tổng số hạt thóc trên bàn cờ này rồi, khà khà! Nhưng, Quan Vũ ngươi có tính được tổng số hạt thóc nằm trên cột thứ \(c\) là bao nhiêu không?". Vũ rơi vào trầm tư, trong thoáng chốc đã hết buổi chiều. Hắn buồn bực, hất đổ bàn cờ. "Cho ta 3 ngày, ta sẽ quay lại với đáp án chính xác". Thế là hắn đạp mây xé gió, bay xuống hạ giới, tới kỳ thi chọn HSG 9 của thành phố Đà Nẵng, nơi có rất nhiều tài năng toán học và lập trình để cầu cứu.

Yêu cầu: Cho \(n, m\)\(c\). Hãy tính tổng số hạt thóc nằm trên toàn bộ cột thứ \(c\) của bàn cờ. Vì kết quả có thể rất lớn, hãy in ra phần dư của nó khi chia cho \(10^9+7\).

Input

Đọc từ tệp văn bản CHESS.INP:

  • Một dòng duy nhất chứa ba số nguyên dương \(n, m\)\(c\) (\(1 \le c \le m\)).

Output

Đọc ra tệp văn bản CHESS.OUT:

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

Example

Test 1

Input
3 3 2
Output
146
Note

Bàn cờ 3 hàng, 3 cột.

Hàng 1: 1 - 2 - 4

Hàng 2: 8 - 16 - 32

Hàng 3: 64 - 128 - 256

Tổng số thóc trên cột 2 là: \(2 + 16 + 128 = 146\).

Scoring

  • Subtask 1 (\(30\%\) số điểm): \(n, m \le 1000\).
  • Subtask 2 (\(30\%\) số điểm): \(n \le 10^5, m \le 10^{18}\).
  • Subtask 3 (\(40\%\) số điểm): \(n \le 10^{18}, m \le 10^{18}\).