Điều hướng chính

Nhắn tin NQ Coding

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 số nguyên tố trong đoạn (nhiều truy vấn nhỏ)

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

staffagent

Bạn được hỏi \(k\) câu hỏi, mỗi câu cho hai số nguyên dương \(a \le b\). Với mỗi câu, hãy cho biết trong đoạn \([a, b]\) có bao nhiêu số nguyên tố.

Input

  • Dòng đầu chứa số nguyên \(k\).
  • \(k\) dòng tiếp theo, mỗi dòng chứa hai số nguyên \(a\) và \(b\).

Output

In ra \(k\) dòng, dòng thứ \(i\) là câu trả lời cho câu hỏi thứ \(i\).

Constraints

  • \(1 \le k \le 100\).
  • \(1 \le a \le b \le 1\,000\,000\).

Sample Input

2
10 30
1 1

Sample Output

6
0

Explanation

Trong đoạn \([10, 30]\) có các số nguyên tố \(11, 13, 17, 19, 23, 29\). Đoạn \([1,1]\) không có số nguyên tố nào.

Dễ

Hàm số F(u) trong đồ thị có hướng

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

root

Cho một đồ thị có hướng (có thể có khuyên) gồm \(N\) đỉnh và \(M\) cạnh. Các đỉnh được đánh chỉ số từ \(1\) đến \(N\). Với mỗi đỉnh \(u\) từ \(1\) đến \(N\), hãy xác định giá trị cho \(F(u)\) theo quy tắc sau:

  • \(F(u) = 0\), nếu như không có đường đi từ \(1\) đến \(u\).
  • \(F(u) = 1\), nếu như chỉ có duy nhất một đường đi từ \(1\) đến \(u\).
  • \(F(u) = 2\), nếu như có nhiều hơn một đường đi từ \(1\) đến \(u\), nhưng số đường đi đếm được là hữu hạn.
  • \(F(u) = -1\), nếu như có vô số đường đi từ \(1\) đến \(u\).

Chú ý: Một đường đi có thể đi qua một đỉnh hoặc một cung nhiều lần!

Input

  • Dòng đầu tiên chứa hai số nguyên \(N\) và \(M\) \((1 \leq N \leq 10^5, 0 \leq M \leq 10^5)\), tương ứng với số đỉnh và số cạnh.
  • \(M\) dòng tiếp theo, mỗi dòng chứa hai số nguyên \(u\) và \(v\) \((1 \leq u, v \leq N)\), biểu thị một cung đi từ đỉnh \(u\) đến đỉnh \(v\).

Output

  • Gồm một dòng duy nhất chứa \(N\) số nguyên, mỗi số tương ứng với \(F(u)\) của từng đỉnh \(u\), các số cách nhau bởi một khoảng trắng.

Example

Test 1

Input
6 7
1 4
1 3
3 4
4 5
2 1
5 5
5 6
Output
1 0 1 2 -1 -1 
Dễ

Chia hai nhóm bằng nhau

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

staffagent

Cho một dãy gồm \(N\) số nguyên dương. Hãy kiểm tra xem có thể chia toàn bộ các số của dãy thành hai nhóm (mỗi số thuộc đúng một nhóm) sao cho tổng các số ở hai nhóm bằng nhau hay không.

Input

  • Dòng đầu chứa số nguyên \(T\) là số bộ dữ liệu.
  • Mỗi bộ dữ liệu gồm hai dòng: dòng đầu chứa \(N\); dòng sau chứa \(N\) số nguyên \(A_1, \dots, A_N\).

Output

Với mỗi bộ dữ liệu in ra YES nếu chia được, ngược lại in NO.

Constraints

  • \(1 \le T \le 20\)
  • \(1 \le N \le 100\)
  • \(1 \le A_i \le 1000\)

Sample Input

3
5
2 3 7 4 6
4
2 2 2 9
1
8

Sample Output

YES
NO
NO

Explanation

Bộ 1: tổng \(22\), chia \(\{2,3,6\}\) và \(\{7,4\}\) đều được \(11\) nên YES. Bộ 2: tổng \(15\) là số lẻ nên NO. Bộ 3: chỉ có một số nên không thể chia đều, NO.

Dễ

Chênh lệch

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

root

An có một xâu ký tự \(S\) độ dài \(N\), chỉ gồm các chữ cái Latin in thường.
An muốn tìm một xâu con liên tiếp không rỗng của \(S\) sao cho chênh lệch giữa:

  • số lần xuất hiện nhiều nhất của một ký tự trong xâu con, và
  • số lần xuất hiện ít nhất của một ký tự trong xâu con

là lớn nhất.

Lưu ý rằng ký tự có số lần xuất hiện ít nhất phải xuất hiện ít nhất một lần trong xâu con.

\InputFile
Dòng đầu tiên chứa số nguyên \(N\) \((1 \le N \le 10^6)\).

Dòng thứ hai chứa xâu \(S\).

\OutputFile
In ra một số nguyên duy nhất là chênh lệch lớn nhất tìm được.

\Scoring

  • 40% số test: \(N \le 10^2\).
  • 30% số test: \(N \le 10^5\).
  • 30% số test: không có ràng buộc gì thêm.

Example

Test 1

Input
6
caabac
Output
2

Test 2

Input
3
ttt
Output
0
Xem thêm