[Buổi 18][Heap & Hàng đợi ưu tiên][WS] Bài 1: Hàng in theo mức ưu tiên


LÀM BÀI

Points: 100
Time limit: 2.0s
Memory limit: 256M

Author:
Problem types

Hàng in theo mức ưu tiên

Bối cảnh và bài toán

Một máy in giữ các job theo thứ tự FIFO nhưng chỉ in job đầu hàng khi không còn job nào khác có mức ưu tiên cao hơn. Nếu còn job ưu tiên cao hơn, job đầu được chuyển xuống cuối hàng. Cần biết job mục tiêu được in thứ mấy.

Yêu cầu

Tính thứ tự in (bắt đầu từ 1) của job có index target 0-based.

Input

  • Dòng 1: n target.
  • Dòng 2: n mức ưu tiên.

Output

In một số nguyên.

Ràng buộc

  • 1 <= n <= 2 * 10^5
  • 0 <= target < n
  • 1 <= priority[i] <= 9

Chấm điểm

Subtask Điểm Điều kiện Official tests
S1 20% n <= 100 01–04
S2 30% n <= 5000 05–10
S3 50% Không có ràng buộc bổ sung 11–20

Ví dụ 1

Input

6 0
1 1 9 1 1 1

Output

5

Giải thích. Job priority 9 in trước; các job priority 1 quay vòng và job index0 được in thứ 5.

Ví dụ 2

Input

1 0
5

Output

1

Giải thích. Chỉ có một job.

Thông tin bài tập

Thuộc tính Giá trị
Mã bài DSA-M05-B18-WS01
Buổi B18
Loại bài WORKSHOP
Mức độ khó Trung bình (Medium)
Thời gian làm bài khuyến nghị 40 phút
Time limit 2 giây
Memory limit 256 MB
Tổng điểm 100
Chuẩn ngôn ngữ tham chiếu C++11 trở lên

Nguồn: Phỏng theo UVa Online Judge 12100 – Printer Queue.

Tham khảo: https://onlinejudge.org/external/121/12100.pdf


Comments

There are no comments at the moment.

Zalo