Đ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

Đếm cặp

100 điểm

Cho một dãy gồm \(n\) số nguyên dương không giảm \(a_1,\) \(a_2,\) \(a_3,\) \(…,\) \(a_n\) và một số \(k,\) Ami muốn đếm số cặp \((i,\) \(j)\) không trùng nhau mà \(a_i\) \(+\) \(a_j\) \(=\) \(k,\) lưu ý rằng \((i,\) \(j)\) và \((j,\) \(i)\) được tính là \(1\) cặp.

Input

  • Dòng đầu gồm \(2\) số nguyên dương \(n\) và \(k\) \((n\) \(\leq\) \(10^6,\) \(k\) \(\leq\) \(10^9).\)

  • Dòng thứ hai gồm \(n\) số nguyên dương không giảm \(a_1,\) \(a_2,\) \(a_3,\) \(…,\) \(a_n\) \((a_i\) \(\leq\) \(10^9).\)

Output

  • Hãy in ra một số nguyên là kết quá của bài toán.

Example

Test 1

Input
4 6
1 1 5 5
Output
4

Test 2

Input
6 5
1 1 1 4 5 5
Output
3

root

Chia dãy

100 điểm

Bạn được trao một mảng số nguyên \(d_1, d_2, \dots, d_n\) gồm \(n\) số nguyên. Hãy tưởng tượng bạn đang tham gia một trò chơi số học, nơi bạn cần tìm cách chia mảng này thành ba phần (một số phần có thể rỗng) sao cho mỗi phần tử của mảng thuộc về đúng một trong ba phần và mỗi phần tạo thành một đoạn liên tiếp (có thể rỗng) của mảng ban đầu.

Gọi tổng các phần tử của phần thứ nhất là $sum_1$, tổng các phần tử của phần thứ hai là $sum_2$ và tổng các phần tử của phần thứ ba là $sum_3$. Trong tất cả các cách chia mảng, bạn cần chọn một cách sao cho $sum_1 = sum_3$ và giá trị $sum_1$ lớn nhất có thể.

Cụ thể hơn, nếu phần thứ nhất của mảng chứa $a$ phần tử, phần thứ hai chứa $b$ phần tử và phần thứ ba chứa $c$ phần tử, ta có:
  • \(sum_1 = \sum_{1 \leq i \leq a} d_i\)
  • \(sum_2 = \sum_{a+1 \leq i \leq a+b} d_i\)
  • \(sum_3 = \sum_{a+b+1 \leq i \leq a+b+c} d_i\)

    Tổng của một mảng rỗng được xem là 0.

Input

  • Dòng đầu tiên chứa một số nguyên \(n\) (\(1 \leq n \leq 2 \cdot 10^5\)) --- số phần tử của mảng \(d\).
  • Dòng thứ hai chứa \(n\) số nguyên \(d_1, d_2, \dots, d_n\) (\(1 \leq d_i \leq 10^9\)) --- các phần tử của mảng.

Output

  • In ra một số nguyên duy nhất --- giá trị lớn nhất có thể của \(sum_1\), thỏa mãn điều kiện \(sum_1 = sum_3\).

    Rõ ràng, luôn tồn tại ít nhất một cách chia hợp lệ (sử dụng \(a = c = 0\) và \(b = n\)).

Example

Test 1

Input
5
1 3 1 1 4
Output
5
Note

Chú thích: Dấu \(\sum\) trong công thức trên biểu thị tổng của một dãy số. Ví dụ, \(\sum_{i=3}^{5} d_i\) có nghĩa là \(d_3 + d_4 + d_5\).

Test 2

Input
5
1 3 2 1 4
Output
4

Test 3

Input
3
4 1 2
Output
0

Scoring

  • Có \(30\%\) số test tương ứng với \(30\%\) số điểm có \(n \leq 100\).
  • Có \(30\%\) số test tương ứng với \(30\%\) số điểm có \(n \leq 1000\).
  • \(40\%\) số test tương ứng với \(40\%\) số điểm còn lại không có ràng buộc gì thêm.

root

Đếm xâu đẹp

100 điểm

Một xâu được gọi là palindrome nếu xâu đảo ngược của nó giống với xâu gốc. Ví dụ xâu \("abccba"\), \("aaaaaa"\), \("xxx"\) là những xâu palindrome, \("xxxxyz"\) không phải là xâu palindrome.

Ta định nghĩa: Xâu đẹp là xâu sau khi gộp các kí tự liên tiếp bằng nhau lại thành duy nhất một kí tự (\("aaaa"\) sẽ thành \("a"\), \("aaabbaaaa"\) sẽ thành \("abc"\)), xâu đó là palindrome. Ví dụ, \("aabbaaaabbbaaaa"\) là xâu đẹp, bởi vì xâu sau khi gộp \("ababa"\) là xâu đối xứng.

Cho một xâu kí tự \(s\) độ dài \(n\), các kí tự trong xâu chỉ có thể là "a" hoặc "b". Hãy đếm xem có bao nhiêu xâu con liên tiếp có độ dài chẵn là xâu đẹp, có bao nhiêu xâu con liên tiếp có độ dài lẻ là xâu đẹp.

Input

Dòng đầu tiên là xâu \(s\) có độ dài \(n\) chỉ chứa kí tự "a" và "b".

Output

Gồm hai số nguyên trên một dòng, số thứ nhất là số xâu con liên tiếp có độ dài chẵn là xâu đẹp, số thứ hai là số xâu con liên tiếp có độ dài lẻ là xâu đẹp.

Example

Test 1

Input
baab
Output
2 4
Note

Xâu đẹp độ dài chẵn: "baab", "aa".

Xâu đẹp độ dài lẻ: "b", "a", "a", "b".

Scoring

\(30\%\) số test có \(n <= 500\).

\(30\%\) số test có \(n <= 5000\).

\(40\%\) số test còn lại \(n <= 100000\).

root

Viên bi

100 điểm

Ban đầu, chị Cam có \(A\) viên bi, em Dino có \(B\) viên bi. Mỗi ngày chị Cam cho em Dino đúng \(1\) viên bi, đến khi chị Cam hết bi thì chị không cho nữa.

Yêu cầu: Hỏi ngày thứ \(N\) thì chênh lệch số bi của hai chị em là bao nhiêu?

Input

  • Nhập vào ba số tự nhiên \(A, B, N\) (\(1 \leq A, B, N \leq 10^9\)). Mỗi số trên một dòng

Output

  • Ghi ra một số tự nhiên duy nhất là kết quả của bài toán.

Example

Test 1

Input
7
4
1
Output
1
Note

Test ví dụ \(1\):

Ngày thứ \(1\) chị Cam cho em \(1\) viên bi nên chị Cam có \(6\) viên bi, Dino có \(5\) viên bi nên chênh lệch là \(1\).

Test ví dụ \(2\):

Ngày thứ \(1\) chị Cam cho em \(1\) viên bi nên chị Cam có \(3\) viên bi, Dino có \(8\) viên bi nên chênh lệch là \(5\).

Test ví dụ \(3\):

Chị Cam đã cho em hết bi sau ngày thứ \(2\) nên Cam có \(0\) viên bi, Dino có \(6\) viên bi và chênh lệch là \(6\).

Test 2

Input
4
7
1
Output
5

Test 3

Input
2
4
3
Output
6
Xem thêm