QOJ.ac

QOJ

Time Limit: 3 s Memory Limit: 1024 MB Total points: 100

#6104. Đánh bom tòa nhà

Statistics

KAIST có một dãy gồm $N$ tòa nhà xếp thành hàng, được đánh số từ $1$ đến $N$ từ trái sang phải. Tòa nhà $i$ có chiều cao là $h_i$. Tòa nhà $i$ được coi là nhìn thấy được từ bên trái nếu và chỉ nếu mọi tòa nhà nằm bên trái nó đều có chiều cao nghiêm ngặt nhỏ hơn $h_i$.

Phòng thí nghiệm của bạn nằm tại tòa nhà số $L$. Vì con số yêu thích của bạn là $K$, bạn muốn làm cho tòa nhà đặt phòng thí nghiệm của mình trở thành tòa nhà cao thứ $K$ trong số các tòa nhà nhìn thấy được từ bên trái. Để đạt được mục tiêu này, bạn sẽ cho nổ tung một số tòa nhà.

Ví dụ, giả sử có $N = 7$ tòa nhà xếp thành hàng với chiều cao lần lượt là $[10, 30, 90, 40, 60, 60, 80]$. Phòng thí nghiệm của bạn nằm tại tòa nhà số $L = 2$ và con số yêu thích của bạn là $K = 3$. Sau khi cho nổ tung các tòa nhà số 3 và 7, các tòa nhà nhìn thấy được từ bên trái sẽ là các tòa nhà 1, 2, 4 và 5. Khi đó, tòa nhà đặt phòng thí nghiệm của bạn trở thành tòa nhà cao thứ 3 trong số các tòa nhà nhìn thấy được từ bên trái, đúng như mong muốn.

Hãy tìm số lượng tòa nhà tối thiểu cần cho nổ tung để tòa nhà đặt phòng thí nghiệm của bạn trở thành tòa nhà cao thứ $K$ trong số các tòa nhà nhìn thấy được từ bên trái.

Dữ liệu vào

Dòng đầu tiên chứa ba số nguyên $N, L$ và $K$ cách nhau bởi dấu cách. Dòng thứ hai chứa $N$ số nguyên $h_1, \dots, h_N$ cách nhau bởi dấu cách.

  • $1 \le L \le N \le 100\,000$
  • $1 \le K \le 10$
  • $1 \le h_i \le 10^9$ ($1 \le i \le N$)

Dữ liệu ra

In ra số lượng tòa nhà tối thiểu cần cho nổ tung để tòa nhà đặt phòng thí nghiệm của bạn trở thành tòa nhà cao thứ $K$ trong số các tòa nhà nhìn thấy được từ bên trái. Nếu không thể thực hiện được, hãy in ra $-1$.

Ví dụ

Dữ liệu vào 1

7 2 3
10 30 90 40 60 60 80

Dữ liệu ra 1

2

Dữ liệu vào 2

3 2 2
30 20 10

Dữ liệu ra 2

-1

Editorials

IDTypeStatusTitlePosted ByLast UpdatedActions
#528Editorial Open集训队作业 解题报告 by 卢华睿Qingyu2026-01-02 21:48:09 Download

Discussions

About Discussions

The discussion section is only for posting: General Discussions (problem-solving strategies, alternative approaches), and Off-topic conversations.

This is NOT for reporting issues! If you want to report bugs or errors, please use the Issues section below.

Open Discussions 0
No discussions in this category.

Issues

About Issues

If you find any issues with the problem (statement, scoring, time/memory limits, test cases, etc.), you may submit an issue here. A problem moderator will review your issue.

Guidelines:

  1. This is not a place to publish discussions, editorials, or requests to debug your code. Issues are only visible to you and problem moderators.
  2. Do not submit duplicated issues.
  3. Issues must be filed in English or Chinese only.
Active Issues 0
No issues in this category.
Closed/Resolved Issues 0
No issues in this category.