Ước nguyên tố

Cho số \(n\) và 1 dãy số \(a\) gồm \(m\) số, kiểm tra xem lần lượt mỗi số trong dãy \(a\) có phải là ước nguyên tố của \(n\) thì in ra YES, ngược lại in ra NO

Input

  • 2 số nguyên \(n, m\) là độ dài dãy \(a\) \((1 \leq n \leq 10^5, 1 \leq m \leq 100)\)
  • \(m\) dòng sau mỗi dòng một số nguyên thuộc dãy \(a\) \((1 \leq a_i \leq 10^5)\)

Output

  • \(m\) dòng tương ứng với đáp án của từng số trong dãy

Example

Test 1
Input
12 5
1
2
3
4
5
Output
NO
YES
YES
NO
NO
...Xem thêm

Đọc nhầm đề (phiên bản không có base64)

Ở một kỳ thi Codeforces không gần đây, bạn Hesll một lần nữa lại đọc nhầm đề mà quên mất rằng, nó chỉ là bài B mà thôi. Hesll đọc nhầm đề bài thành như sau:

Với một xâu nhị phân \(X\) bất kỳ, gọi \(x\)\(y\) lần lượt là số lượng chữ số \(1\)\(0\) trong xâu nhị phân đó. Khi đó, trọng số \(w\) của xâu \(X\) là:

\[w(X) = \left\{ \begin{array}{ll} xy & \text{nếu } x > 0 \ \text{và} \ y > 0 \\ x^2 & \text{nếu } x > 0 \ \text{và} \ y = 0 \\ y^2 & \text{nếu } x = 0 \ \text{và} \ y > 0 \\ \end{array} \right.\]

Cho xâu \(S\)\(n = |S|\) là độ dài xâu. Một xâu được gọi là xâu con liên tiếp (gọi tắt là xâu con) của xâu \(S\) nếu nó có thể được tạo bằng cách xóa đi một số ký tự đầu tiên và cuối cùng của xâu. Khi đó, xâu con bắt đầu từ vị trí \(l\), kết thúc tại vị trí \(r\) được gọi là xâu \(S_{l, r}\) \((0 \le l \le r < n)\).

Ví dụ, abc là xâu con liên tiếp của dabce nhưng không phải là xâu con liên tiếp của adbce.

Cho xâu nhị phân \(S\) có độ dài \(n\). Tính \(\sum\limits_{l=0}^{n-1} \sum\limits_{r=l}^{n-1} w(S_{l,r})\), hay nói cách khác là tổng trọng số của mọi xâu con liên tiếp của \(S\).

Not-fun fact: Bài này được ra trong Round 6 LQDOJ CUP 2023.
Mình rất cay là tự nhiên mình bị ép đẩy \(n = 10^7\) để tránh thuật \(\mathcal{O}(n \log n)\), và vì vậy nên đầu vào phải ép về dạng base64.
Xong mình đòi code \(\mathcal{O}(n)\) thì đếch ai code cho mình cả.
Cuối cùng lúc đi thi thì rất nhiều bạn code lỗi phần base64.
Bài này là bài mình tâm đắc nhất, nhưng cuối cùng fail vl huhu.

Input

  • Một dòng duy nhất chứa một xâu nhị phân có độ dài \(n \leq 10^5\), chỉ gồm các ký tự 0 và 1.

Output

  • In ra đáp án của bài toán.

Scoring

  • Subtask \(1\) (\(20\%\) số điểm): \(n \leq 300\).
  • Subtask \(2\) (\(25\%\) số điểm): \(n \leq 5 \times 10^3\).
  • Subtask \(3\) (\(10\%\) số điểm): \(n \leq 10^5\), toàn bộ các ký tự của \(S\) đều giống nhau.
  • Subtask \(4\) (\(15\%\) số điểm): \(n \leq 10^5\), tồn tại duy nhất một vị trí \(i\) sao cho \(S_i \neq S_{i + 1}\) (\(0 \le i < n-1\)).
  • Subtask \(5\) (\(30\%\) số điểm): Không có ràng buộc gì thêm.

Example

Test 1

Input
0110
Output
18
Note
Xâu con Trọng số Xâu con Trọng số Xâu con Trọng số Xâu con Trọng số
0 \(1\) 01 \(1\) 011 \(2\) 0110 \(4\)
1 \(1\) 11 \(4\) 110 \(2\)
1 \(1\) 10 \(1\)
0 \(1\)
...Xem thêm

Bảng số

Cho trước bảng số A gồm \(m\) hàng, \(n\) cột. Mỗi ô trong bảng số chứa một số nguyên dương gọi là giá trị của ô. Tất cả các ô (ít nhất là 2 ô) có cùng giá trị, kề cạnh hoặc kề đỉnh tạo thành một vùng số. Số lượng ô trong một vùng số gọi là diện tích của vùng số đó.
Yêu cầu: Tính số lượng vùng số có trong bảng A và diện tích của vùng số lớn nhất.

Input

  • Dòng đầu chứa hai số nguyên dương \(m\), \(n\), mỗi số không vượt quá 100;
  • Trong \(m\) dòng tiếp theo, mỗi dòng chứa \(n\) số nguyên dương, mỗi số không vượt quá 100.

Output

  • Dòng đầu ghi số lượng các vùng số có trong bảng A;
  • Dòng thứ hai ghi diện tích của vùng số lớn nhất.

Example

Test 1

Input
5 6
1 2 1 4 5 4
1 3 1 4 5 4
3 1 2 3 3 4
2 2 4 5 3 3
2 2 3 2 1 1
Output
8
5
Note

Có 8 vùng số gồm: 2 vùng số 1; 1 vùng số 2; 2 vùng số 3; 2 vùng số 4; 1 vùng số 5. Trong 8 vùng số trên, diện tích vùng số lớn nhất là 5.

...Xem thêm

Tổng dãy con

Cho dãy số nguyên gồm n phần tử \(a_1,a_2,\cdots,a_n\) \((|a_i| \leq 10^9)\). Cho giá trị \(x\)\(q\) câu hỏi có dạng \(S(u,v)\). Với \(S(u,v)\) là tổng các giá trị của các phần tử từ \(u\) đến \(v\).

Yêu cầu: Đếm xem trong \(q\) câu hỏi đó có bao câu hỏi có giá trị nhỏ hơn \(x\).

Input

  • Dòng đầu tiên chứa ba số nguyên dương \(n,x,q (x \leq 10^9,q \leq 10^5)\).
  • Dòng thứ hai chứa \(a_1,a_2,\cdots,a_n (|a_i| \leq 10^9)\).
  • \(q\) dòng tiếp theo, mỗi dòng chứa hai số nguyên dương \(u,v (1 \leq u \leq v \leq n)\).

Output

  • In ra một số nguyên là số lượng câu hỏi có giá trị nhỏ hơn \(x\)

Scoring

  • Subtask \(1\) (\(50\%\) số điểm): \(n \leq 500\)
  • Subtask \(2\) (\(30\%\) số điểm): \(n \leq 10^4\)
  • Subtask \(3\) (\(30\%\) số điểm): \(n \leq 10^5\)

Example

Test 1

Input
5 6 3
7 2 1 6 5
2 3
3 4
5 5 
Output
2
Note
  • \(S(2,3)=2+1=3<x=6\)
  • \(S(3,4)=1+6=7>x=6\)
  • \(S(5,5)=5 < x=6\)

Vậy có 2 câu hỏi có giá trị nhỏ hơn \(x=6\)

...Xem thêm