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

staffagent

Tập con lớn nhất có tổng chia hết

100 điểm

Cho \(n\) số nguyên dương \(A_1, A_2, \dots, A_n\) và một số nguyên dương \(K\). Hãy chọn ra một số phần tử (theo vị trí, không cần các giá trị khác nhau) sao cho tổng các phần tử được chọn chia hết cho \(K\) và số phần tử được chọn là nhiều nhất có thể. In ra số phần tử đó.

Tập rỗng có tổng bằng \(0\) (chia hết cho mọi \(K\)), nên nếu không thể chọn được tập khác rỗng nào thì đáp án là \(0\).

Input

  • Dòng đầu gồm hai số nguyên dương \(n\) và \(K\).
  • Dòng thứ hai gồm \(n\) số nguyên dương \(A_1, A_2, \dots, A_n\).

Output

In ra một số nguyên là số phần tử lớn nhất của một tập con có tổng chia hết cho \(K\).

Constraints

  • \(1 \le n \le 22\), \(1 \le K \le 2 \cdot 10^{10}\)
  • \(1 \le A_i \le 10^9\)

Sample Input

6 5
3 8 4 7 6 1

Sample Output

5

Explanation

Tổng cả sáu số là \(29\) không chia hết cho \(5\). Bỏ số \(4\) được tập gồm \(5\) số \(\{3, 8, 7, 6, 1\}\) có tổng \(25\) chia hết cho \(5\). Không thể chọn cả \(6\) số nên đáp án là \(5\).

root

Săn xe ưu đãi

100 điểm

Nhân dịp đầu năm, showroom xe hơi XYZ tổ chức chương trình bán xe giảm giá cực lớn. Các mẫu xe được xếp theo thứ tự từ 1 đến \(n\), với mỗi mẫu xe có mức giá \(p_i\) (đơn vị triệu đồng).

Có \(m\) khách hàng lần lượt đến tham dự. Khách hàng thứ \(i\) mang theo số tiền \(t_i\) (triệu đồng), và quyết định chỉ tham khảo các mẫu xe từ vị trí \(l_i\) đến \(r_i\).

Tại mỗi mẫu xe, khách hàng sẽ mua được nhiều chiếc nhất có thể nếu còn đủ tiền, rồi mới tiếp tục sang mẫu xe kế tiếp trong khoảng được chọn. Việc mua xe diễn ra tuần tự từ trái sang phải.

Nhiệm vụ của bạn là xác định, sau chuyến săn xe, mỗi khách hàng còn lại bao nhiêu tiền.

Input

  • Dòng đầu tiên chứa hai số nguyên \(n\) và \(m\) (\(1 \leq n, m \leq 2 \times 10^5\)) --- số lượng mẫu xe và số lượng khách hàng.
  • Dòng thứ hai chứa \(n\) số nguyên \(p_1, p_2, \ldots, p_n\) (\(1 \leq p_i \leq 10^{18}\)) --- giá của từng mẫu xe (triệu đồng).
  • \(m\) dòng tiếp theo, mỗi dòng chứa ba số nguyên \(t_i, l_i, r_i\) (\(1 \leq l_i \leq r_i \leq n\), \(1 \leq t_i \leq 10^{18}\)) --- số tiền mang theo và khoảng mẫu xe khách hàng chọn.

Output

  • Gồm \(m\) dòng, mỗi dòng ghi số tiền còn lại của từng khách hàng sau khi mua xe, theo đúng thứ tự trong input.

Example

Test 1

Input
5 3
500 300 200 400 600
800 5 5
1070 1 4
700 3 5
Output
200
70
100
Note
  • Khách hàng thứ nhất chỉ tham khảo mẫu xe thứ 5 (giá 600 triệu), mua được 1 xe, còn dư 800 - 600 = 200 triệu.
  • Khách hàng thứ hai có 1070 triệu đồng, tham khảo mẫu từ 1 đến 4, mua được nhiều nhất, còn dư 70 triệu.
  • Khách hàng thứ ba có 700 triệu, tham khảo từ mẫu 3 đến 5, mua xe cho đến khi hết tiền, còn lại 100 triệu.

Scoring

  • \(50\%\) số test có \(n, m \leq 5000\), \(p_i, t_i \leq 10^9\).
  • \(50\%\) số test có \(n, m \leq 2 \times 10^5\), \(p_i, t_i \leq 10^{18}\).

root

Tình yêu và những viên đá định mệnh

100 điểm

Ở một vùng đất xa xôi nơi mặt trời mọc, có một chàng trai tên là Haruki. Anh sống bình lặng trong một ngôi làng nhỏ, nơi mà mùa xuân luôn thắm sắc hoa anh đào. Một ngày nọ, Haruki đem lòng yêu một thiếu nữ tên là Aika --- người con gái dịu dàng như làn sương sớm.

Để bày tỏ tình yêu của mình, Haruki quyết định rời làng và bước vào hành trình thu thập các loại đá quý kỳ diệu, rải rác trên con đường dẫn đến Đỉnh Mặt Trăng --- nơi truyền thuyết kể rằng có thể rèn nên món trang sức thiêng liêng chỉ khi hội đủ những viên đá mang tần số hoàn hảo.

Dọc theo hành trình, Haruki thu thập được một chuỗi \(N\) viên đá quý, viên thứ \(i\) thuộc loại \(a_i\). Tuy nhiên, chỉ một số tổ hợp đá nhất định mới có thể hòa hợp để tạo nên món trang sức thần kỳ. Haruki có thể đem cắt bỏ một vài viên đá ở đầu hoặc ở cuối chuỗi. Sau khi cắt, thì chuỗi đá quý của anh phải là một chuỗi đá thiêng.

Một tổ hợp đá là "thiêng" nếu tồn tại:

  • Ít nhất một loại đá xuất hiện đúng \(1\) lần,
  • Ít nhất một loại xuất hiện đúng \(2\) lần,
  • …
  • Ít nhất một loại đá xuất hiện đúng \(K\) lần.

Hãy giúp Haruki đếm xem có bao nhiêu cách lựa chọn đoạn liên tiếp trong dãy đá quý sao cho tổ hợp đá còn lại là một tổ hợp thiêng liêng, đủ để rèn món trang sức định mệnh cho Aika.

Input

Dữ liệu vào:

  • Dòng đầu tiên chứa hai số nguyên dương \(N\) \((1 \leq N \leq 10^5)\) và \(K\) \((1 \leq K \leq 4)\).
  • Dòng thứ hai chứa \(N\) số nguyên \(a_1, a_2, \dots, a_N\) \((1 \leq a_i \leq N)\) --- đại diện cho loại đá quý mà Haruki tìm thấy.

Output

In ra một số nguyên duy nhất --- số cách Haruki có thể chọn đoạn đá thoả điều kiện "thiêng".

Hai lựa chọn khác nhau nếu có ít nhất một vị trí được giữ lại trong một lựa chọn nhưng bị loại bỏ trong lựa chọn kia.

Example

Test 1

Input
6 2
5 4 5 2 6 5
Output
5

Test 2

Input
3 1
1 2 1
Output
6

Scoring

  • Subtask 1 (14 điểm): \(N \leq 1000\)
  • Subtask 2 (16 điểm): \(1 \leq a_i \leq K\) với mọi \(i\)
  • Subtask 3 (32 điểm): \(K = 1\)
  • Subtask 4 (38 điểm): Không có ràng buộc bổ sung

root

Số hoàn hảo

100 điểm

Một số nguyên dương \(N\) được gọi là số hoàn hảo khi \(N\) bằng tổng các ước nguyên dương khác nó. Ví dụ: \(6\) có các ước nguyên dương khác nó là: \(1, 2, 3\) và \(1 + 2 + 3 = 6\) hay \(6\) là một số hoàn hảo, \(5\) không phải là số hoàn hảo.

Yêu cầu: Cho số nguyên dương \(N\) , hãy kiểm tra \(N\) có phải là một số hoàn hảo hay không?

Input

Nhập từ bàn phím số nguyên dương \(N\) \((1 ≤ N ≤ 1000000)\).

Output

Ghi ra màn hình một trong hai thông báo: "So hoan hao." hoặc "Khong phai la so hoan
hao.".

Example

Test 1

Input
6
Output
So hoan hao.

Test 2

Input
5
Output
Khong phai la so hoan hao.
Xem thêm