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

Sức mạnh tối thiểu của phù thủy

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

staffagent

Harry Potter phải băng qua một hầm ma thuật hình chữ nhật gồm \(R\) hàng và \(C\) cột. Mỗi ô \((i, j)\) chứa một số nguyên \(S[i][j]\):

  • nếu \(S[i][j] < 0\), ô đó có một con rồng và Harry bị mất \(|S[i][j]|\) sức mạnh;
  • nếu \(S[i][j] \ge 0\), ô đó có bình thuốc và Harry được cộng thêm \(S[i][j]\) sức mạnh.

Harry xuất phát tại ô \((1,1)\) (góc trên trái) và cần đến ô \((R, C)\) (góc dưới phải), mỗi bước chỉ được đi xuống ô \((i+1, j)\) hoặc sang phải ô \((i, j+1)\). Sức mạnh của Harry phải luôn dương (lớn hơn \(0\)) sau khi xử lý từng ô trên đường đi, kể cả ô đích; nếu bằng \(0\) hoặc âm thì Harry thất bại.

Hãy tìm sức mạnh khởi đầu nhỏ nhất (một số nguyên dương) để Harry có thể đi đến ô \((R,C)\).

Input

  • Dòng đầu chứa số bộ test \(T\).
  • Với mỗi bộ test: dòng đầu chứa \(R\) và \(C\), tiếp theo là \(R\) dòng, mỗi dòng gồm \(C\) số nguyên mô tả lưới.

Output

  • Với mỗi bộ test in ra một dòng: sức mạnh khởi đầu nhỏ nhất.

Constraints

  • \(1 \le T \le 5\)
  • \(2 \le R, C \le 500\)
  • \(-1000 \le S[i][j] \le 1000\)
  • \(S[1][1] = S[R][C] = 0\)

Sample Input

3
2 3
0 -2 3
-4 1 0
2 2
0 5
-1 0
3 4
0 -3 1 2
2 -1 -2 0
-1 4 -3 0

Sample Output

3
1
1

Explanation

Ở bộ test đầu tiên, đường đi \(0 \to -2 \to 1 \to 0\) đòi hỏi sức mạnh khởi đầu ít nhất \(3\) (sau ô \(-2\) phải còn dương), còn đường còn lại cần \(5\). Ở bộ test thứ hai, đi qua ô \(5\) rồi \(0\) thì chỉ cần sức mạnh \(1\).

Dễ

Số đẹp

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

root

Một số nguyên dương \(N\) được gọi là số đẹp nếu nó thỏa mãn các điều kiện sau:

  • Số đó là số chính phương.
  • Tổng các chữ số của nó là một số Fibonacci.

Yêu cầu: Cho số nguyên dương \(N\), đếm số lượng số đẹp nhỏ hơn hoặc bằng \(N\).

Input

Vào từ bàn phím một số nguyên dương \(N\).

Dữ liệu đảm bảo: \(1 \le N \le 10^9\).

Output

Một số nguyên là số lượng số đẹp nhỏ hơn hoặc bằng \(N\).

Example

Test 1

Input
50
Output
2

Scoring

  • Subtask 1: \(60\%\) số test ứng với \(1 \le N \le 10^6\)
  • Subtask 2: \(40\%\) số test không có ràng buộc gì thêm.
Dễ

Kim cương vô hạn có cách chọn

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

staffagent

Trên một hòn đảo có \(N\) loại kim cương, mỗi loại có vô số viên. Một viên kim cương loại \(i\) có giá trị \(a_i\) và thể tích \(b_i\). Chiếc túi của bạn có sức chứa (tổng thể tích) là \(M\).

Hãy chọn các viên kim cương (mỗi loại có thể lấy nhiều viên, hoặc không lấy) sao cho tổng thể tích không vượt quá \(M\) và tổng giá trị là lớn nhất. In ra tổng giá trị lớn nhất và số viên lấy của từng loại.

Vì có thể có nhiều phương án tối ưu, ta chỉ chấp nhận phương án duy nhất sau: trong các phương án cho giá trị lớn nhất, chọn phương án mà dãy \((c_1, c_2, \dots, c_N)\) lớn nhất theo thứ tự từ điển, trong đó \(c_i\) là số viên loại \(i\) được lấy (tức là ưu tiên \(c_1\) lớn nhất, rồi đến \(c_2\), ...).

Input

  • Dòng đầu chứa hai số nguyên \(N\) và \(M\).
  • \(N\) dòng tiếp theo, dòng thứ \(i\) chứa hai số nguyên \(a_i\) và \(b_i\).

Output

  • Dòng đầu: tổng giá trị lớn nhất.
  • Dòng thứ hai: \(N\) số nguyên \(c_1, c_2, \dots, c_N\) cách nhau bởi dấu cách.

Constraints

  • \(1 \le N \le 1000\)
  • \(1 \le M \le 11111\)
  • \(0 \le a_i \le 10^9\)
  • \(1 \le b_i \le 10^4\)

Sample Input 1

3 9
4 2
6 3
5 3

Sample Output 1

18
3 1 0

Sample Input 2

4 6
3 2
9 3
6 2
1 1

Sample Output 2

18
0 2 0 0

Explanation

Ví dụ 1: giá trị lớn nhất là \(18\), đạt được bởi \((3,1,0)\) (thể tích \(6+3\)) và cũng bởi \((0,3,0)\). Dãy \((3,1,0)\) lớn hơn theo thứ tự từ điển nên được in ra. Ví dụ 2: giá trị lớn nhất là \(18\), đạt được bằng hai viên loại 2 hoặc ba viên loại 3; chọn \(c_1 \ge 1\) không thể đạt \(18\), còn với \(c_1 = 0\) thì \(c_2 = 2\) là lớn nhất, nên in \((0,2,0,0)\).

Dễ

Biến đổi xâu

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

staffagent

Cho xâu \(S\) gồm các ký tự thuộc tập \(\{1,2,3,4,5,6,7,8,9\}\).

Quy tắc biến đổi:

  • Bước 1: biến đổi xâu \(S\) thành \(S_1 = S\).

  • Bước 2: từ \(S_1\) tạo \(S_2\).

  • Bước \(n\): từ \(S_{n-1}\) tạo \(S_n\).

Mỗi ký tự \(k\) trong \(S_{t-1}\) (với \(t \ge 2\)) được thay thế bởi \(k\) ký tự \(k\) liên tiếp.

Ví dụ:
$
S = 123 \Rightarrow S_1 = 122333 \Rightarrow S_2 = 12222333333333
$

Ký tự ở vị trí thứ \(5\) của \(S_2\) là \(2\).

Yêu cầu:
Cho xâu \(S\) ban đầu và hai số nguyên dương \(n, i\). Hãy tìm ký tự thứ \(i\) trong xâu \(S_n\).

Input

  • Dòng đầu chứa xâu \(S\), có độ dài trong khoảng \([1, 100]\).
  • Dòng thứ hai chứa hai số nguyên dương \(n, i\) (\(1 \le n \le 10^6\), \(1 \le i \le 10^6\)).

Dữ liệu đảm bảo rằng xâu \(S_n\) có độ dài tối thiểu là \(i\).

Output

In ra một ký tự duy nhất — ký tự thứ \(i\) trong xâu \(S_n\).

Input

123
2 5

Output

2
Xem thêm