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

Đếm phần tử trong đoạn

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

staffagent

Cho mảng \(A\) gồm \(N\) số nguyên và \(T\) truy vấn. Mỗi truy vấn gồm hai số \(L\) và \(R\), yêu cầu đếm xem có bao nhiêu phần tử của mảng \(A\) thuộc đoạn \([L, R]\).

Input

  • Dòng đầu chứa hai số nguyên \(N\) và \(T\) (\(1 \le N, T \le 10^5\)).

  • Dòng thứ hai chứa \(N\) số nguyên \(A_1, A_2, \ldots, A_N\) (\(1 \le A_i \le 10^5\)).

  • \(T\) dòng tiếp theo, mỗi dòng chứa hai số nguyên \(L, R\) (\(1 \le L \le R \le 10^5\)).

Output

Với mỗi truy vấn, in ra một dòng chứa số lượng phần tử của mảng \(A\) nằm trong đoạn \([L, R]\).

Example

Input:

5 3
1 2 3 3 5
1 3
3 5
2 2

Output:

4
3
1

Dễ

Ước chung lớn nhất

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

root

Ước chung lớn nhất (ƯCLN) của hai hay nhiều số là số tự nhiên lớn nhất mà tất cả các số đó đều chia hết.

Nói một cách đơn giản, đó là con số "chung" lớn nhất mà bạn có thể chia đều cho tất cả các số đã cho mà không bị dư.

Ví dụ:

  • Để tìm ƯCLN của \(12\) và \(18\):
  • Ước của \(12\) là: \({1, 2, 3, 4, 6, 12}\)
  • Ước của \(18\) là: \({1, 2, 3, 6, 9, 18}\)
  • Các ước chung của \(12\) và \(18\) là \({1, 2, 3, 6}\). Trong số này, số lớn nhất là \(6\).

Vậy, ƯCLN của \(12\) và \(18\) là \(6\).

Viết chương trình nhập vào hai số nguyên dương \(a\) và \(b\) \((1 \leq a, b, \leq 10^9)\). Hãy tìm và in ra giá trị ƯCLN của \(a\) và \(b\).

Input

Hai số nguyên dương \(a\), \(b\) \((1 \leq a, b \leq 10^8)\).

Output

Yêu cầu bài toán.

Example

Test 1

Input
4 6
Output
2

Test 2

Input
10 20
Output
10
Dễ

Hack tài khoản

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

staffagent

Tài khoản ngân hàng của bạn hiện có \(1\) USD và bạn muốn nó có đúng \(N\) USD. Bạn có hai chương trình hack: chương trình thứ nhất nhân số tiền hiện có với \(10\), chương trình thứ hai nhân số tiền hiện có với \(20\). Mỗi chương trình có thể chạy bao nhiêu lần tuỳ ý, theo thứ tự tuỳ ý (kể cả không chạy lần nào).

Với mỗi giá trị \(N\), hãy cho biết có thể đưa số tiền từ \(1\) USD lên đúng \(N\) USD hay không.

Input

  • Dòng đầu: số nguyên \(T\) là số lượng câu hỏi.
  • \(T\) dòng sau, mỗi dòng một số nguyên \(N\).

Output

  • Với mỗi câu hỏi in một dòng: Yes nếu đạt được, ngược lại No.

Constraints

  • \(1 \le T \le 100\).
  • \(1 \le N \le 10^{18}\).

Sample Input

5
100
40
2000
5
8000

Sample Output

Yes
No
Yes
No
Yes

Explanation

\(100 = 10 \cdot 10\), \(2000 = 10 \cdot 10 \cdot 20\), \(8000 = 20 \cdot 20 \cdot 20\). Còn \(40\) và \(5\) không thể tạo được.

Dễ

Biến đổi bảng

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

root

Cho hai bảng nhị phân \(a\) và \(b\) có cùng kích thước \(n\)x\(n\). Bảng nhị phân là bảng chứa các phần tử là \(0\) hoặc \(1\). Có hai loại thao tác có thể thực hiện được trên bảng:

  • thao tác \(1\): Chọn một hàng bất kì và thực hiện đảo ngược tất cả các số ở trên hàng. Ví dụ: hàng \(x\) lần lượt là \(0, 0, 0, 1, 0, 1\), sau khi thực hiện thao tác thứ nhất, hàng \(x\) trở thành \(1, 1, 1, 0, 1, 0\).
  • thao tác \(2\): Chọn một cột bất kì và thực hiện đảo ngược tất cả các số ở trên cột. Ví dụ: cột \(x\) lần lượt là \(0, 0, 0, 1, 0, 1\), sau khi thực hiện thao tác thứ nhất, cột \(x\) trở thành \(1, 1, 1, 0, 1, 0\).

Thao tác loại \(1\) và thao tác loại \(2\) có thể thực hiện với số lần bất kì (có thể \(0\)). Hãy kiểm tra xem có cách nào sau khi thực hiện các thao tác, bảng \(a\) trở thành bảng \(b\).

Input

Dòng đầu tiên gồm số nguyên dương \(Q\) \((Q <= 5)\) là số truy vấn.

Với mỗi truy vấn, dòng đầu tiên là số nguyên dương \(n\) - kích thước của \(2\) bảng \(a\), \(b\).

\(n\) dòng tiếp theo, mỗi dòng mô tả một hàng của bảng \(a\).

\(n\) dòng tiếp theo, mỗi dòng mô tả một hàng của bảng \(b\).

Output

\(Q\) dòng, mỗi dòng in ra "YES" nếu có thể đưa được bảng \(a\) trở thành bảng \(b\), in "NO" ngược lại.

Example

Test 1

Input
1
3
1 1 0
0 0 1
1 1 0

0 0 0
0 0 0
0 0 0
Output
YES

Scoring

\(30\%\) số test có \(n <= 10\), \(Q = 1\).

\(15\%\) số test có \(n <= 100\), nếu có thể đưa bảng \(a\) về bảng \(b\) thì sẽ tồn tại cách dùng không quá hai thao tác.

\(15\%\) số test có \(n <= 1000\), nếu có thể đưa bảng \(a\) về bảng \(b\) thì sẽ tồn tại cách dùng không quá hai thao tác.

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

Xem thêm