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

Rôbot

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

root

Cho một bảng số nguyên dương \(A\) gồm \(N\) hàng và \(M\) cột, cùng một số nguyên dương \(K\).
Ô ở hàng \(i\), cột \(j\) có giá trị là \(A_{i,j}\).

Một robot bắt đầu tại ô \((1,1)\) và cần di chuyển đến ô \((N,M)\).
Khi đang ở ô \((i,j)\), robot chỉ có thể di chuyển sang một trong ba ô sau (nếu tồn tại):

  • \((i, j+1)\);
  • \((i+1, j)\);
  • \((i+1, j+1)\).

Bạn được cho \(Q\) truy vấn. Mỗi truy vấn gồm một số nguyên \(X\) \((0 \le X < K)\).

Với mỗi truy vấn, hãy xác định số lượng ô nhiều nhất mà robot có thể đi qua trên một đường đi từ \((1,1)\) đến \((N,M)\) sao cho các ô đó thỏa mãn:
$
A_{i,j} \bmod K = X.
$

\InputFile
Dòng đầu chứa bốn số nguyên dương \(N, M, Q, K\)
\((1 \le N, M \le 500,\ 1 \le Q \le 10^5,\ 1 \le K \le 10^9)\).

\(N\) dòng tiếp theo, mỗi dòng chứa \(M\) số nguyên dương, mô tả bảng \(A\)
\((1 \le A_{i,j} \le 10^9)\).

\(Q\) dòng tiếp theo, mỗi dòng chứa một số nguyên \(X\) là truy vấn tương ứng.

\OutputFile
Gồm \(Q\) dòng, mỗi dòng in ra một số nguyên là kết quả của truy vấn tương ứng.

Subtasks

  • Subtask 1 (20 points): \(M = 1\).
  • Subtask 2 (20 points): \(M = 2,\ Q \le 1000\).
  • Subtask 3 (30 points): \(N, M, K \le 300\).
  • Subtask 4 (30 points): Không có ràng buộc thêm.

Example

Test 1

Input
3 4 2 6
1 1 1 7
2 8 9 1
1 3 4 2
1
2
Output
5
3
Dễ

Số chính phương

100 điểm 67% AC 3 đã giải

staffagent

Viết chương trình nhập vào một số nguyên dương \(n\). Kiểm tra xem \(n\) có phải là số chính phương hay không. (Số chính phương là bình phương của một số nguyên, ví dụ \(16 = 4^2\).)

Input

Một dòng chứa số nguyên dương \(n\) (\(1 \le n \le 10^{12}\)).

Output

Nếu \(n\) là số chính phương, in ra YES. Ngược lại, in ra NO.

Sample Input 1

4

Sample Output 1

YES

Sample Input 2

5

Sample Output 2

NO
Dễ

Số nguyên tố bị thiếu

100 điểm 33% AC 3 đã giải

staffagent

Cho dãy \(A\) gồm \(N\) số nguyên dương. Gọi \(M\) là giá trị lớn nhất trong dãy. Hãy tìm số nguyên tố nhỏ nhất \(U\) thoả mãn cả hai điều kiện:

  • \(U\) không có mặt trong dãy \(A\);
  • \(U \le M\).

Nếu không tồn tại \(U\) như vậy (mọi số nguyên tố không vượt quá \(M\) đều đã xuất hiện trong \(A\), hoặc \(M\) nhỏ hơn \(2\)) thì in ra dòng No prime number missing!.

Ví dụ: với \(A = [2, 3, 6, 9, 11]\) thì \(M = 11\), các số nguyên tố \(\le 11\) là \(2, 3, 5, 7, 11\); số nhỏ nhất vắng mặt là \(5\).

Input

  • Dòng 1: số nguyên dương \(N\).
  • Dòng 2: \(N\) số nguyên dương \(A_1, \dots, A_N\).

Output

  • Một số nguyên là số nguyên tố nhỏ nhất bị thiếu, hoặc dòng No prime number missing! nếu không có.

Constraints

  • \(1 \le N \le 10^5\)
  • \(1 \le A_i \le 10^6\)

Sample Input

7
2 3 5 8 9 13 7

Sample Output

11

Explanation

Giá trị lớn nhất là \(13\); các số nguyên tố \(\le 13\) gồm \(2, 3, 5, 7, 11, 13\), trong đó chỉ có \(11\) chưa xuất hiện.

Dễ

Đảo kho báu

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

root

Trên hòn đảo hình vòng tròn, có \(n\) chiếc rương báu vật xếp thành một vòng. Mỗi chiếc rương được đánh số từ \(0\) đến \(n - 1\) và chứa một số lượng vàng ban đầu là \(a_0, a_1, \ldots, a_{n-1}\).

Cướp biển Lập trình viên rất quan tâm đến giá trị của kho báu và thường xuyên thực hiện các hành động sau:

  • inc(lf, rg, v) --- Thêm \(v\) thỏi vàng vào mỗi chiếc rương từ vị trí \(lf\) đến \(rg\) (tính cả hai đầu).
  • rmq(lf, rg) --- Truy xuất thông tin: rương nào có ít vàng nhất trong đoạn từ \(lf\) đến \(rg\)?

Vì các rương được xếp thành vòng tròn, nên đoạn từ \(lf\) đến \(rg\) có thể được hiểu như sau:

  • Nếu \(lf \le rg\): đoạn gồm các chỉ số từ \(lf\) đến \(rg\).
  • Nếu \(lf > rg\): đoạn gồm các chỉ số từ \(lf\) đến \(n - 1\), rồi tiếp tục từ \(0\) đến \(rg\).

Hãy giúp Lập trình viên thực hiện tuần tự các thao tác, và ghi lại kết quả mỗi lần anh ta truy vấn rmq!

Input

  • Dòng đầu chứa số nguyên \(n\) \((1 \leq n \leq 2 \cdot 10^5)\) --- số lượng rương.
  • Dòng thứ hai chứa \(n\) số nguyên \(a_0, a_1, \ldots, a_{n-1}\) \((-10^6 \le a_i \le 10^6)\) --- số lượng vàng ban đầu ở mỗi rương.
  • Dòng thứ ba chứa số nguyên \(m\) \((0 \le m \le 2 \cdot 10^5)\) --- số truy vấn.
  • \(m\) dòng tiếp theo, mỗi dòng chứa một truy vấn, có thể ở một trong hai dạng:

  • lf rg --- Truy vấn loại rmq.

  • lf rg v --- Truy vấn loại inc.

Output

Với mỗi truy vấn loại rmq, in ra một dòng chứa số lượng vàng ít nhất trong đoạn được hỏi.

Example

Test 1

Input
4
1 2 3 4
4
3 0
3 0 -1
0 1
2 1
Output
1
0
0
Xem thêm