Đ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ố gấp đôi

100 điểm

Nhập vào hai số nguyên \(a\) và \(b\). Nếu \(b\) gấp đôi mà bằng \(a\), thì in ra "a gap doi b", ngược lại in ra "a khong gap doi b".

Example

Test 1

Input
4 2
Output
a gap doi b

Test 2

Input
2 4
Output
a khong gap doi b

root

Dãy số

100 điểm

Cho một dãy \(A\) gồm \(n\) số nguyên dương \(A_1, A_2, A_3, ..., A_n\). Có bao nhiêu cặp chỉ số \((i,j)\) thỏa mãn \(1 \leq i < j \leq n\) để tổng \(A_i+A_j\) chia hết cho \(3\).

Input

Dữ liệu vào: Đọc từ tệp DAYSO.INP gồm \(2\) dòng:

  • Dòng đầu tiên chứa số nguyên \(n\) \((2 \leq n \leq 10^5)\).
  • Dòng thứ \(2\) chứa \(n\) số nguyên dương \(A_1, A_2, A_3, ..., A_n\), mỗi số không vượt quá \(10^9\), giữa hai số cách nhau \(1\) dấu cách.

Output

Kết quả: Ghi ra tệp DAYSO.OUT một dòng duy nhất là số cặp tìm được.

Example

Test 1

Input
7
3 1 2 9 5 3 5
Output
6
Note

Giải thích: Với ví dụ trên, ta có 6 cặp (i; j) là (1; 4), (1; 6), (2; 3), (2; 5), (2; 7), (4; 6).

Scoring

  • Có \(70\%\) số điểm có \(n \leq 10^4\).
  • Còn \(30\%\) số điểm còn lại không có ràng buộc gì thêm.

root

Đếm gạo

100 điểm

Nấm là cô bé đáng yêu và tốt bụng. Cô bé đặc biệt thích truyện cổ tích. Vì thế, đêm qua, Nấm nằm mơ về nàng Lọ Lem. Trong giấc mơ, Lọ Lem không bị mụ dì ghẻ bắt phân loại các loại đậu nữa mà bắt nhặt gạo. Có rất nhiều gạo trong kho, các hạt gạo đã được đánh số thứ tự là số nguyên liên tiếp từ \(a\) tới \(b\). Mụ bắt nàng phải nhặt ra các hạt gạo có số thứ tự là bội của một số \(k\) cho trước. Đồng thời sau khi nhặt xong phải trả lời cho mụ biết số lượng hạt gạo nhặt được. Việc nhặt gạo thì quá đơn giản, chỉ trong tích tắc bầy chim đã giúp nàng nhặt xong. Bây giờ nhiệm vụ của Nấm là đếm số lượng hạt gạo đã nhặt được. Thật không may, chưa đếm xong thì Nấm đã tỉnh dậy. Nấm rất muốn có câu trả lời cho Lọ Lem.

Input

Dữ liệu vào từ tệp văn bản DEMGAO.INP gồm ba số nguyên dương \(a\), \(b\) và \(k\) ghi trên cùng 1 dòng (\(1 \le a \le b \le 10^{18}\); \(1 \le k \le 10^{18}\)).

Output

Ghi ra tệp văn bản DEMGAO.OUT một số nguyên duy nhất là kết quả cần tìm.

Example

Test 1

Input
3 10 5
Output
2

Test 2

Input
6 9 5
Output
0

Scoring

  • \(70\%\) số test tương ứng với \(70\%\) số điểm có \(1 \le a \le b \le 10^6\).
  • \(30\%\) số test còn lại tương ứng \(30\%\) số điểm không có ràng buộc gì thêm.

root

Đoạn dễ thương

100 điểm

Linh là một học sinh rất yêu thích lập trình. Gần đây, Linh đang phát triển một robot có thể phân tích chuỗi số và tìm các đoạn "dễ thương".

Cụ thể, một đoạn con liên tiếp \((l, r)\) của dãy \(A_1, A_2, \ldots, A_n\) được gọi là dễ thương nếu:

  • \(max - min = k\), với \(max\) là giá trị lớn nhất và \(min\) là giá trị nhỏ nhất trong đoạn đó.

Linh muốn bạn giúp đếm xem trong dãy ban đầu có tất cả bao nhiêu đoạn con dễ thương.

\InputFile

  • Dòng đầu tiên gồm hai số nguyên \(n, k\) (\(1 \le n \le 5 \times 10^5\), \(0 \le k \le 10^9\)).
  • Dòng thứ hai gồm \(n\) số nguyên \(A_1, A_2, \ldots, A_n\) (\(-10^9 \le A_i \le 10^9\)).

\OutputFile

In ra một số nguyên duy nhất --- số lượng đoạn con dễ thương trong dãy.

\Scoring

  • Subtask 1 (40% số điểm): \(n \le 10^3\).
  • Subtask 2 (30% số điểm): \(n \le 10^5\).
  • Subtask 3 (30% số điểm): Không có ràng buộc gì thêm.

Example

Test 1

Input
5 2
1 2 1 3 3
Output
6
Xem thêm