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

Đồi

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

root

Cho dãy \(A\) gồm \(n\) phần tử \(a_1, a_2, \ldots, a_n\).
Một đoạn trong dãy \(A\) gồm các phần tử từ vị trí \(t\) đến vị trí \(p\)
được gọi là "quả đồi" nếu tồn tại một vị trí \(k\) thỏa mãn đồng thời:

  • \(t < k < p\);
  • \(a_t < a_{t+1} < \cdots < a_k\);
  • \(a_k > a_{k+1} > \cdots > a_p\).

Độ dài của quả đồi được xác định bởi số lượng phần tử tạo nên quả đồi đó.
Hãy tìm quả đồi dài nhất trong dãy \(A\).

Input

Đọc từ tệp văn bản DOI.INP:

  • Dòng đầu tiên ghi số nguyên dương \(n\) là số lượng phần tử của dãy \(A\).
  • Dòng thứ hai ghi \(n\) số \(a_1, a_2, \ldots, a_n\) là các phần tử của dãy \(A\).
    Hai số kề nhau được phân tách bởi một khoảng trắng.

Output

Ghi ra tệp văn bản DOI.OUT:

  • Một số nguyên là độ dài của quả đồi dài nhất.

Example

Test 1

Input
12
3 2 3 6 7 6 4 5 8 7 8 6
Output
6
Note
  • \(1 \le n \le 10^5\);
  • \(1 \le a_i \le 10^5\), với \(i = 1, 2, \ldots, n\).
Dễ

Sứ mệnh tiếp tế

100 điểm 43% AC 6 đã giải

root

Thành phố Syrjälä đang phải đối mặt với một cuộc khủng hoảng lớn! Nguồn cung cấp hàng hóa thiết yếu từ thủ đô đã bị gián đoạn, và bạn---một nhà điều phối tài ba---có nhiệm vụ đảm bảo tất cả các thành phố khác trong vương quốc nhận được hàng hóa một cách nhanh nhất và tiết kiệm nhất.

Tuy nhiên, việc vận chuyển không hề miễn phí! Mỗi con đường giữa các thành phố đều thu phí, và bạn phải tính toán cẩn thận để chi phí vận chuyển là thấp nhất.

May mắn thay, vua của Syrjälä đã cấp cho bạn \(k\) thẻ miễn phí đặc biệt. Khi sử dụng một thẻ, bạn có thể đi qua một con đường bất kỳ mà không mất phí. Bạn có thể sử dụng tối đa \(k\) thẻ trên mỗi tuyến đường từ thủ đô đến một thành phố khác, nhưng không thể sử dụng nhiều lần trên cùng một con đường.

Hãy tìm cách vận chuyển hàng hóa từ Syrjälä (thành phố 1) đến tất cả các thành phố khác với chi phí nhỏ nhất có thể!

Input

  • Dòng đầu tiên chứa ba số nguyên \(n, m, k\) \((1 \leq n \leq 10^5, 1 \leq m \leq 5 \times 10^5, 1 \leq k \leq 18)\) --- số lượng thành phố, số con đường hai chiều, và số thẻ miễn phí có thể sử dụng.
  • \(m\) dòng tiếp theo, mỗi dòng chứa ba số nguyên \(u, v, w\) \((1 \leq u, v \leq n, 1 \leq w \leq 10^6)\), mô tả một con đường hai chiều giữa thành phố \(u\) và thành phố \(v\) với chi phí đi qua là \(w\). Dữ liệu đảm bảo luôn có đường đi giữa các cặp đỉnh.

Output

Gồm \(n\) số nguyên, số thứ \(i\) tương ứng với chi phí tối thiểu để vận chuyển hàng hóa từ thành phố 1 đến thành phố \(i\).

Example

Test 1

Input
5 6 1
1 2 2
1 3 6
2 4 6
2 5 8
3 5 4
4 5 1
Output
0 0 0 2 2 
Dễ

Lắp đặt wifi

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

root

Quân là người quản lí của kí túc xá trường chuyên Lê Quý Đôn. Kí túc xá chỉ có một tầng và có \(n\) phòng, các phòng được xây liên tiếp nhau trên một đường thẳng, các phòng được đánh số từ \(1\) đến \(n\).

Mỗi khi bắt đầu năm học, Quân lại phụ trách công việc lắp đặt wifi cho học sinh. Và Quân phải đảm bảo rằng, \(n\) phòng của học sinh đều bắt được wifi. Một số phòng có đã sẵn chỗ để đặt router mạng. Quân không thể đặt router mạng ở những phòng không có sẵn chỗ để đặt. Khi Quân đặt router ở phòng thứ \(i\), thì toàn bộ những phòng từ \(max(1, i - k)\) đến \(min(n, i + k)\) đều có thể bắt wifi tại phòng \(i\), \(k\) là độ phủ sóng của router. Với tất cả mọi phòng thì giá trị \(k\) không thay đổi.

Tuy nhiên, khi chỉ lắp đặt router ở những nơi có sẵn chố để đặt router, có thể một số phòng sẽ không bắt được wifi. Ví dụ nếu phòng \(4\) và phòng \(10\) có router, mỗi router có độ phủ sóng là \(2\), thì phòng \(7\) sẽ không bắt được wifi bởi vì router ở hai phòng kia đều không phủ tới được phòng \(7\). Vì vậy, Quân quyết định mua thêm dây mạng để kết nối trực tiếp tới wifi phòng của Quân (phòng này đảm bảo luôn luôn có wifi, và phòng này không nằm trong khuôn viên của kí túc xá nhà trường) . Chi phí mua dây mạng kết nối trực tiếp từ phòng \(i\) đến phòng \(Quân\) là \(i\) triệu đồng. Chi phí để lắp đặt router ở phòng kí túc xá thứ \(i\) là \(i\) triệu đồng.

Vì số phòng kí túc xá rất lớn (có thể lên tới 200000 phòng), nếu tính toán không hợp lí thì số tiền phải bỏ ra để mua dây kết nối và lắp đặt router có thể là rất lớn. Biết Quân từng là học sinh lớp chuyên tin, nhà trường giao cho Quân một bài toán cực khó: tính số tiền nhỏ nhất để đặt router mạng sao cho \(n\) phòng kí túc xá đều có thể bắt được wifi. Tuy nhiên, trí tuệ con người là có hạn, Quân chỉ có thể tính toán nếu kí túc xá chỉ có \(2\) - \(5\) phòng, Quân biết rằng, cách duy nhất để có thể giải bài toán này chính là viết code. Nhưng hơn \(30\) năm rồi Quân chưa đụng tới Codeblocks, kĩ năng code cũng như tư duy suy nghĩ cũng phai nhạt dần, Quân đành phải nhờ các bạn giải giúp bài toán này vậy.

Input

Dòng đầu tiên là hai số nguyên dương \(n, k\) - số lượng phòng và độ phủ sóng router. \((n, k <= 2.10^5)\).

Dòng thứ 2 gồm một xâu kí tự độ dài \(n\), chỉ chứa kí tự \(0\) và \(1\). Các kí tự được đánh số từ \(1\) đến \(n\). Kí tự \(i\) nếu là \(0\) thì phòng thứ \(i\) không có sẵn chỗ để đặt router mạng, với \(1\) thì ngược lại.

Output

Một dòng duy nhất chứa kết quả bài toán.

Example

Test 1

Input
5 2
00100
Output
3

Test 2

Input
6 1
000000
Output
21

Test 3

Input
4 1
0011
Output
4

Test 4

Input
5 1
01010
Output
6

Test 5

Input
10 1
0011100011
Output
25

Scoring

\(30\%\) số test có \(n <= 20\).

\(30\%\) số test có \(n <= 1000\).

\(40\%\) còn lại không có ràng buộc gì thêm.

Dễ

Thu thập các hành tinh

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

root

Trong một thiên hà rộng lớn, có \(N\) hành tinh nằm thẳng hàng trong một khu vực. Mỗi hành tinh có một lượng tài nguyên nhất định. Một nhóm phi hành gia được giao nhiệm vụ đến thăm đúng \(K\) hành tinh để thu thập càng nhiều tài nguyên càng tốt.

Tuy nhiên, do hạn chế về năng lượng, họ chỉ được phép ghé thăm đúng \(K\) hành tinh trong số \(N\) hành tinh có sẵn. Mỗi hành tinh thứ \(i\) có một giá trị tài nguyên là \(a_i\), giá trị này có thể dương (tài nguyên quý giá) hoặc âm (chứa chất thải nguy hiểm).

Nhiệm vụ của bạn là giúp các phi hành gia chọn ra \(K\) hành tinh sao cho tổng tài nguyên thu được là lớn nhất.

Input

Dòng đầu tiên chứa hai số nguyên \(N\) và \(K\) (\(1 \leq K \leq N \leq 10^5\)) --- số hành tinh và số hành tinh mà nhóm phi hành gia có thể thăm.

Dòng thứ hai chứa \(N\) số nguyên \(a_1, a_2, \ldots, a_N\) (\(-10^5 \leq a_i \leq 10^5\)) --- lượng tài nguyên trên mỗi hành tinh.

Output

In ra một số nguyên duy nhất --- tổng lượng tài nguyên lớn nhất mà phi hành gia có thể thu được khi ghé thăm đúng \(K\) hành tinh.

Example

Test 1

Input
4 2
2 4 6 8
Output
14
Note
  • Với test ví dụ đầu tiên, các phi hành gia sẽ lựa chọn thăm và thu thập tài nguyên từ hành tinh số \(3\) và hành tinh số \(4\).
  • Với test ví dụ thứ hai, các phi hành gia sẽ lựa chọn thăm và thu thập tài nguyên từ hành tinh số \(1\), số \(2\), số \(3\) và số \(4\).

Test 2

Input
4 4
5 5 5 5
Output
20

Scoring

  • \(10\%\) số test tương ứng với \(10\%\) số điểm có \(N = 1\).
  • \(10\%\) số test tương ứng với \(10\%\) số điểm có \(N = 2\).
  • \(20\%\) số test tương ứng với \(20\%\) số điểm có \(N \leq 20\).
  • \(40\%\) số test tương ứng với \(40\%\) số điểm có \(N \leq 1000\).
  • \(20\%\) số test tương ứng với \(20\%\) số điểm có \(N \leq 10^5\).
Xem thêm