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

Giai thừa của danh sách

100 điểm 50% AC 1 đã giải

staffagent

Giai thừa của số nguyên dương \(N\), ký hiệu \(N!\), là tích \(1 \cdot 2 \cdot \ldots \cdot N\).

Cho \(m\) số nguyên dương \(N_1, N_2, \ldots, N_m\). Với mỗi số, hãy tính và in ra giai thừa của nó.

Gợi ý: viết hàm \(Fact(n)\) trả về \(n!\) và gọi nó cho từng số.

Input

  • Dòng đầu tiên chứa số nguyên \(m\).
  • \(m\) dòng tiếp theo, dòng thứ \(i\) chứa số nguyên dương \(N_i\).

Output

  • In ra \(m\) dòng, dòng thứ \(i\) là giá trị \(N_i!\).

Constraints

  • \(1 \le m \le 10^5\)
  • \(1 \le N_i \le 20\)

Sample Input 1

4
5
1
10
3

Sample Output 1

120
1
3628800
6
Dễ

Ghép đôi đũa

100 điểm 50% AC 1 đã giải

staffagent

An có \(N\) chiếc đũa xanh với độ dài \(a_1, \dots, a_N\) và \(N\) chiếc đũa đỏ với độ dài \(b_1, \dots, b_N\).

An muốn ghép một đôi gồm đúng một đũa xanh và một đũa đỏ, sao cho hai chiếc có độ dài khác nhau. Hai đôi được coi là khác nhau nếu chúng khác nhau ở ít nhất một chiếc đũa (các chiếc đũa được phân biệt theo chỉ số, kể cả khi cùng độ dài).

Hãy đếm số đôi đũa hợp lệ.

Input

  • Dòng đầu chứa số nguyên dương \(N\).
  • Dòng thứ hai chứa \(a_1, \dots, a_N\).
  • Dòng thứ ba chứa \(b_1, \dots, b_N\).

Output

In ra một số nguyên là số đôi đũa hợp lệ.

Constraints

  • \(1 \le N \le 200\,000\).
  • \(1 \le a_i, b_i \le 10^9\).

Sample Input

5
4 1 4 2 7
4 4 2 7 7

Sample Output

18

Explanation

Tổng cộng có \(25\) cặp; các cặp cùng độ dài: độ dài \(4\) có \(2 \cdot 2 = 4\) cặp, độ dài \(2\) có \(1\) cặp, độ dài \(7\) có \(1 \cdot 2 = 2\) cặp, tổng \(7\) cặp. Đáp số \(25 - 7 = 18\).

Dễ

Gặp lại trên đường

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

staffagent

Trên một xa lộ thẳng có \(N\) thị trấn đánh số từ \(1\) đến \(N\); thị trấn \(i\) cách điểm đầu đường \(d_i\) đơn vị (các giá trị \(d_i\) không nhất thiết đôi một khác nhau hay đã sắp xếp).

Có \(Q\) cặp bạn, mỗi cặp là hai người ở thị trấn \(x\) và \(y\). Họ muốn chọn một thị trấn \(z\) (có thể trùng với \(x\) hoặc \(y\)) làm nơi hẹn sao cho người phải đi xa hơn đi càng ít càng tốt, tức là giá trị

\[\max(|d_x - d_z|,\ |d_y - d_z|)\]

là nhỏ nhất. Với mỗi cặp, hãy in ra giá trị nhỏ nhất này.

Input

  • Dòng đầu chứa hai số nguyên dương \(N\) và \(Q\).
  • Dòng thứ hai chứa \(N\) số nguyên \(d_1, \dots, d_N\).
  • \(Q\) dòng tiếp theo, mỗi dòng chứa hai số nguyên \(x, y\).

Output

In \(Q\) dòng, dòng thứ \(j\) là đáp án của cặp thứ \(j\).

Constraints

  • \(1 \le N, Q \le 10^5\)
  • \(1 \le d_i \le 10^9\)
  • \(1 \le x, y \le N\)

Sample Input

6 3
2 9 4 15 7 11
1 4
3 3
2 5

Sample Output

7
0
2

Explanation

Cặp \((1, 4)\) ở vị trí \(2\) và \(15\): chọn \(z = 2\) (vị trí \(9\)) cho giá trị \(\max(7, 6) = 7\); chọn thị trấn \(5\) (vị trí \(7\)) cho \(\max(5, 8) = 8\). Đáp án là \(7\).

Dễ

Ếch qua sông

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

staffagent

Chú ếch Bin phải qua một con sông để về nhà. Từ bờ trái đến bờ phải có \(N\) hòn đá xếp thành một hàng, đánh số \(1, 2, \dots, N\) theo chiều từ trái sang phải. Ta coi bờ trái là vị trí \(0\) và bờ phải là vị trí \(N+1\). Bin xuất phát ở bờ trái và chỉ được nhảy về phía bờ phải: từ vị trí \(x\) có thể nhảy tới \(x+1\), \(x+2\) hoặc \(x+3\) (không được vượt quá bờ phải, cũng không được nhảy lùi).

Mỗi hòn đá thuộc một trong ba loại:

  • Loại \(0\) (đá chắc): không có hạn chế gì.
  • Loại \(1\) (đá lung lay): Bin chỉ có thể đáp xuống nó bằng bước nhảy \(+1\) (tức là từ vị trí ngay trước nó), và khi đứng trên nó chỉ có thể nhảy \(+1\) hoặc \(+2\) (không được nhảy \(+3\)).
  • Loại \(2\) (đá mục): Bin không được đáp xuống hòn đá này.

Hai bờ sông được coi như đá chắc.

Hãy đếm số cách khác nhau để Bin đi từ bờ trái sang bờ phải (hai cách khác nhau nếu tập các vị trí đã đặt chân khác nhau). Vì kết quả có thể rất lớn nên chỉ cần in ra phần dư khi chia cho \(10^9\) (không cần thêm số 0 ở đầu).

Input

  • Dòng đầu tiên chứa số nguyên dương \(N\).
  • Dòng thứ hai chứa \(N\) số nguyên \(A_1, A_2, \dots, A_N\) với \(A_i \in \{0, 1, 2\}\) là loại của hòn đá thứ \(i\).

Output

In ra một số nguyên là số cách qua sông, lấy phần dư khi chia cho \(10^9\).

Constraints

  • \(1 \le N \le 10000\)
  • \(A_i \in \{0, 1, 2\}\)

Sample Input 1

8
0 1 0 0 1 0 2 0

Sample Output 1

26

Sample Input 2

9
0 0 1 2 1 0 0 0 0

Sample Output 2

0

Explanation

Ở ví dụ 2, hòn đá thứ 4 bị mục nên không thể đặt chân. Để vượt qua nó phải nhảy từ vị trí 3 sang vị trí 5, nhưng hòn đá 5 lung lay và chỉ có thể đáp xuống từ vị trí 4, nên không có cách nào qua sông.

Xem thêm