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

root

Bài tập về nhà 2

100 điểm

Nhập vào ba số nguyên a, b, c. Nếu a < 5 hoặc b > 10 hoặc c = 20, thì in ra "YES". Ngược lại in ra "NO".

Example

Test 1

Input
3 4 5
Output
YES

Test 2

Input
2 4 20
Output
YES

root

Bức ảnh đẹp

100 điểm

Trong một chuyến phiêu lưu tới thành phố hiện đại Lumina, cô gái Lan Anh đang đứng trước một dãy các toà nhà chọc trời rực rỡ ánh đèn. Cô quyết định chụp một bức ảnh thật đẹp để ghi lại khoảnh khắc này.

Dãy các toà nhà này có thể được mô tả bởi một dãy số gồm \(n\) toà nhà với chiều cao lần lượt là \(h_1, h_2, \dots, h_n\). Lan Anh sẽ chọn một đoạn liên tiếp của dãy toà nhà này để chụp ảnh. Tuy nhiên, để bức ảnh trở nên đáng giá, đoạn được chọn phải có ít nhất \(k\) toà nhà.

Lan Anh có một tiêu chí rất đặc biệt để đánh giá vẻ đẹp của một bức ảnh: cô thích những toà nhà cao, và còn thích hơn nếu chiều cao của các toà nhà có ước chung lớn! Cụ thể, nếu cô chọn một đoạn từ \(h_l\) đến \(h_r\), gọi \(g\) là ước số chung lớn nhất (GCD) của các chiều cao trong đoạn đó, thì vẻ đẹp của bức ảnh được tính bằng:

\[ f(l,r) = g \cdot (h_l + h_{l+1} + \dots + h_r) \]

Bạn hãy giúp Lan Anh tính ra giá trị vẻ đẹp lớn nhất mà cô ấy có thể đạt được với một bức ảnh chụp ít nhất \(k\) toà nhà liên tiếp.

Input

\begin itemize

  • Dòng đầu tiên chứa hai số nguyên \(n\) và \(k\) (\(1 \le n, k \le 10^6\)).

  • Dòng thứ hai chứa \(n\) số nguyên \(h_1, h_2, \dots, h_n\) (\(1 \le h_i \le 10^6\)).
    \end itemize

Output

In ra một số nguyên --- vẻ đẹp lớn nhất có thể đạt được.

Example

Test 1

Input
6 2
2 1 4 4 4 2
Output
48

Test 2

Input
4 1
7 3 9 4
Output
81

Scoring

  • Subtask 1 (11 điểm): \(n, k \le 100\)
  • Subtask 2 (28 điểm): \(n, k \le 5000\)
  • Subtask 3 (18 điểm): \(h_i \le 100\)
  • Subtask 4 (17 điểm): \(n, k \le 5 \cdot 10^4\)
  • Subtask 5 (26 điểm): Không có ràng buộc thêm

root

Dãy số đơn giản

100 điểm

Cho một mảng số nguyên dương có \(N\) phần tử, các phần tử được đánh số liên tiếp từ \(1\) đến \(N\), phần tử thứ \(i\) có giá trị là \(a_i\). Hãy lập trình và in ra màn hình dãy số đơn giản của dãy đã cho.

Định nghĩa dãy số đơn giản : Khi duyệt đến phần tử thứ \(i\), nếu tồn tại một vị trí \(j\) sao cho \(1 \leq j < i\) và \(a_i = a_j\), không in giá trị \(a_i\).

Input

  • Dòng đầu tiên gồm số nguyên dương \(N\) - số lượng phần tử của dãy \(a\) \((1 \leq N \leq 10^5)\).
  • Dòng thứ hai gồm \(N\) số nguyên dương \(a_1, a_2, ..., a_N\) - giá trị các phần tử của dãy \(1 \leq a_i \leq 10^5)\).

Output

  • In ra trên một dòng dãy số đơn giản của dãy \(a\).

Example

Test 1

Input
7
2 3 4 2 5 3 7
Output
2 3 4 5 7 

root

Phát kẹo

100 điểm

Trong một trò chơi của chương trình ngoại khóa có \(n\) bạn nhỏ tham gia, các bạn xếp thành một hàng ngang và được đánh số từ \(1\) đến \(n\) theo chiều từ trái sang phải để nhận kẹo. Bạn thứ \(i\) \((1 \leq i \leq n)\) dự định sẽ được nhận \(a_{i}\) cái kẹo. Alice được mời lên phát kẹo cho các bạn đứng từ vị trí \(L\) đến vị trí \(R\) \((1 \leq L \leq R \leq n)\). Là một người yêu trẻ nhỏ và cũng say mê toán học, trước khi lên phát kẹo Alice đã chọn một chữ số \(k\) và chuẩn bị thêm một số kẹo để phát theo cách : Bạn có chỉ số \(i\) \((L \leq i \leq R)\) sẽ được nhận \(2\times a_{i}\) cái kẹo nếu \(i\) chi hết cho \(k\) hoặc trong số \(i\) có chứa chữ số \(k\), ngược lại bạn \(i\) sẽ nhận \(a_{i}\) cái kẹo.

Theo ý tưởng trên, Alice đã đề xuất một bài toán thú vị dưới đây:

Cho dãy số nguyên không âm \(a_{1}, a_{2}, ..., a_{n}\) và \(q\) thao tác, mỗi thao tác thuộc một trong hai loại sau:

  • Thao tác loại \(1\) được mô tả bằng ba số có dạng: \(1\) \(i\) \(c\), có nghĩa là thay đổi giá trị phần tử \(i\) bằng \(c\);
  • Thao tác loại \(2\) được mô tả bằng bốn số có dạng: \(2\) \(L\) \(R\) \(k\), có nghĩa là cần tính \(\sum_{i = L}^{R} b_{i}\), trong đó \(b_{i} = 2a_{i}\) nếu i chia hết cho \(k\) hoặc chứa chữ số \(k\), ngược lại \(b_{i} = a_{i}\).

Yêu cầu: Cho dãy \(a_{1}, a_{2}, ..., a_{n}\) và \(q\) thao tác, hãy thực hiện lần lượt từng thao tác, với mỗi thao tác loại \(2\) đưa ra giá trị cần tính.

Input

Vào từ thiết bị vào chuẩn có khuôn dạng:

  • Dòng đầu chứa hai số nguyên \(n\), \(q\) \((n, q \leq 2 \times 10^5)\)

  • Dòng thứ hai chứa \(n\) số nguyên không âm \(a_{1}, a_{2}, ..., a_{n}\).

  • Tiếp theo là \(q\) dòng, mỗi dòng mô tả một thao tác. Cụ thể nếu là thao tác loại \(1\) thì dòng gồm ba số nguyên \(1\) \(i\) \(c\) \((1 \leq i \leq n; 0 \leq c \leq 10^9)\),còn nếu là thao tác loại \(2\) thì dòng gồm bốn số nguyên \(2, L, R, k\) \((1 \leq L \leq R \leq n; 1 \leq k \leq 9)\)

Output

Ghi ra thiết bị chuẩn \(q\) dòng, mỗi dòng tương ứng với cấu trả lời cho thao tác loại \(2\) trong dữ liệu vào.

Example

Test 1

Input
16 4
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
2 1 5 2
2 14 16 4
1 14 24
2 14 16 4
Output
21
75
95

Scoring

Subtask \(1\) (\(40\%\) số điểm) : \(n, q \leq 200\).

Subtask \(2\) (\(20\%\) số điểm): Không có thao tác loại \(1\);

Subtask \(3\) (\(20\%\) số điểm): Tất cả các thao tác loại \(2\) có \(k = 1\);

Subtask \(4\) (\(20\%\) số điểm): không có ràng buộc gì thêm.

Xem thêm