QOJ.ac

QOJ

Time Limit: 1.0 s Memory Limit: 256 MB Total points: 100 Hackable ✓

#14436. Chế Tạo Robot

Statistics

Bạn có khả năng tạo ra các robot có chiều cao nằm trong đoạn $[0, d]$. Để thử nghiệm chúng, bạn đã xây dựng một đường thẳng có độ dài $n$ chứa một số chướng ngại vật. Mô tả về các chướng ngại vật được cho dưới dạng một mảng $a$. Nếu $a_i = 0$ thì không có chướng ngại vật nào tại vị trí thứ $i$, ngược lại có một chướng ngại vật có chiều cao $a_i > 0$.

Để thử nghiệm robot của mình, bạn chọn một đoạn $[l, r]$ và cho nó đi qua tất cả các chướng ngại vật nằm trong đoạn đó. Khi robot gặp một chướng ngại vật có giá trị $a_i > 0$, một trong hai khả năng sau sẽ xảy ra:

  • Nếu chiều cao hiện tại của robot $h$ nhỏ hơn $a_i$, thì không có gì xảy ra vì robot quá thấp để chạm tới chướng ngại vật.
  • Nếu chiều cao hiện tại của robot $h$ lớn hơn hoặc bằng $a_i$, thì chiều cao mới sẽ thay đổi thành $h' = h - a_i$.

Bây giờ bạn cần trả lời $q$ truy vấn. Với mỗi đoạn trong $q$ đoạn $[l_i, r_i]$, bạn cần cho biết chiều cao lớn nhất có thể mà robot đạt được sau khi đi qua các chướng ngại vật trong đoạn nếu chiều cao ban đầu được chọn từ khoảng $[0, d]$.

Dữ liệu vào

Dòng đầu tiên chứa bộ số nguyên $n, q, d$ ($1 \le n, q \le 3 \cdot 10^5, 1 \le d \le 10^9$) — độ dài của mảng và số lượng truy vấn.

Dòng thứ hai chứa $n$ số nguyên $a_i$ ($0 \le a_i \le 10^9$) — mô tả của mảng.

$q$ dòng tiếp theo chứa cặp số nguyên $[l_i, r_i]$ ($1 \le l_i \le r_i \le n$) — mô tả các truy vấn.

Dữ liệu ra

In ra $q$ số nguyên — câu trả lời cho các truy vấn.

Ví dụ

Dữ liệu vào 1

5 3 5
0 2 6 1 3
5 5
1 5
1 3

Dữ liệu ra 1

2
2
3

Dữ liệu vào 2

7 5 10
7 6 2 5 0 1 4
1 3
1 7
4 7
2 5
4 6

Dữ liệu ra 2

3
2
3
3
4

Editorials

IDTypeStatusTitlePosted ByLast UpdatedActions
#374EditorialOpen题解jianglyView

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.