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

Dễ

Tổng lớn nhất

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

root

Cho dãy \(N\) số nguyên có giá trị lần lượt \(a_1,a_2,...,a_N\) và số nguyên dương \(M\).

Yêu cầu: Hãy chọn các số từ dãy đã cho ít số nhất sao cho tổng các số được chọn lớn nhất nhưng không được vượt quá \(M\).

Input

  • Dòng đầu ghi số nguyên dương \(N\);
  • Dòng thứ hai ghi \(n\) số nguyên \(a_1,a_2,...,a_N\), các số cách nhau một dấu cách.

Output

  • Dòng đầu ghi số nguyên \(S\) là tổng lớn nhất tìm được;
  • Dòng thứ hai ghi số nguyên \(d\) là số lượng ít nhất các số cần chọn để có tổng bằng \(S\).

Example

Test 1

Input
4 6
1 2 3 4
Output
6
2
Note
  • \(1 \le N \le 20\);
  • \(1 \le M \le 2000\);
  • \(1 \le a_i \le 100\).
Dễ

Cước gọi điện thoại

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

staffagent

Hoa gọi điện cho Huệ để hỏi bài. Cước điện thoại tính \(x\) đồng cho mỗi phút gọi, và cuộc gọi kéo dài đúng \(t\) phút. Tính số tiền Hoa phải trả.

Input

  • Một dòng gồm hai số nguyên dương \(x\) và \(t\), cách nhau một dấu cách.

Output

  • In ra số tiền (đồng) Hoa phải trả.

Constraints

  • \(1 \le x, t \le 10000\).

Sample Input

2500 36

Sample Output

90000
Dễ

Chia nhóm

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

root

Trong buổi giao lưu giữa các thí sinh của kì thi Tin học trẻ, có học sinh xếp thành một hàng, học
sinh đứng thứ \(i(1 \leq i \leq n)\) đến từ tỉnh có mã là số nguyên \(c_i(1 \leq c_i \leq 63)\). Ban tổ chức muốn
tách hàng để nhận được \(g\) nhóm học sinh tham gia một trò chơi. Cụ thể, Ban tổ chức cần chọn ra \(g - 1\) điểm cắt \(1 < k_1 < k_2 ... < k_{g-1} < n\), khi đó các bạn từ đầu hàng đến bạn đứng thứ \(k_1\) sẽ xếp vào nhóm thứ nhất, các bạn đứng thứ \(k_1 + 1\) đến \(k_2\) sẽ xếp vào nhóm thứ hai,..., bạn đứng thứ \(k_{g-1} + 1\) đến \(n\) xếp vào nhóm thứ \(g\). Độ phong phú của một nhóm được tính bằng số lượng tỉnh khác nhau của học sinh trong nhóm. Để các thí sinh có nhiều cơ hội giao lưu với nhau, Ban tổ chức muốn tìm cách tách hàng \(g\) thành nhóm để tổng độ phong phú của \(g\) nhóm là lớn nhất.

Yêu cầu: Cho dãy số nguyên dương \(c_1, c_2, ..., c_n\) và số nguyên dương \(g\), hãy tìm cách tách hàng thành \(g\) nhóm để tổng độ phong phú của nhóm là lớn nhất.

Input

  • Dòng đầu tiên chứa các số nguyên \(n, g\);

  • Dòng thứ hai chứa n số nguyên dương \(c_1, c_2, ..., c_n\).

Output

  • Ghi ra một dòng chứa một số là tổng độ phong phú của \(g\) nhóm là lớn nhất tìm được.

Example

Test 1

Input
5 2
1 2 1 3 3
Output
4

Scoring

  • Subtask \(1\) (\(25\%\) số điểm): \(n \leq 1000; g = 2\)

  • Subtask \(2\) (\(25\%\) số điểm): \(n \leq 1000; g = 3\)

  • Subtask \(3\) (\(25\%\) số điểm): \(n \leq 1000; g \leq 30\)

  • Subtask \(4\) (\(25\%\) số điểm): \(n \leq 10^5; g \leq 30\)

Dễ

Truy vấn dãy số

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

staffagent

Cho một dãy số có \(N\) phần tử. Bạn cần xử lý \(M\) truy vấn thuộc 4 loại sau:

  • \(1\;L\;R\;x\): Cộng thêm \(x\) đơn vị vào tất cả phần tử từ vị trí \(L\) đến \(R\).
  • \(2\;L\;R\;x\): Nhân tất cả phần tử từ \(L\) đến \(R\) với \(x\).
  • \(3\;L\;R\;x\): Gán tất cả phần tử từ \(L\) đến \(R\) bằng \(x\).
  • \(4\;L\;R\): Tính tổng các phần tử từ \(L\) đến \(R\), lấy dư với \(10^9 + 7\).

Input

  • Dòng đầu tiên chứa hai số nguyên \(N\), \(M\) — số phần tử và số truy vấn (\(1 \le N, M \le 10^5\)).
  • Dòng thứ hai chứa \(N\) số nguyên ban đầu (\(1 \le A_i \le 10^9\)).
  • Mỗi dòng tiếp theo là một truy vấn theo một trong bốn dạng đã mô tả.

Output

Với mỗi truy vấn loại 4, in ra tổng các phần tử từ \(L\) đến \(R\) (modulo \(10^9 + 7\)), mỗi kết quả trên một dòng.

Scoring

  • Có \(30\%\) số điểm ứng với \(N, M \le 10^3\).
  • \(70\%\) số điểm còn lại ứng với \(N, M \le 10^5\).

Input

5 4
1 2 3 4 5
1 1 3 2
2 2 4 4
3 4 5 2
4 1 5

Output

43
Xem thêm