305484: CF1039E. Summer Oenothera Exhibition

Memory Limit:512 MB Time Limit:7 S
Judge Style:Text Compare Creator:
Submit:0 Solved:0

Description

Summer Oenothera Exhibition

题意翻译

给定长度为 $n$ 的序列,常数 $w$,询问次数 $q$。 接下来$q$组询问,每次给出一个常数 $k_i$,求最少把序列分为多少段使得每段序列中数的极差不超过 $w-k_i$,输出最小的段数 $-1$。 不强制在线。

题目描述

While some people enjoy spending their time solving programming contests, Dina prefers taking beautiful pictures. As soon as Byteland Botanical Garden announced Summer Oenothera Exhibition she decided to test her new camera there. The exhibition consists of $ l = 10^{100} $ Oenothera species arranged in a row and consecutively numbered with integers from $ 0 $ to $ l - 1 $ . Camera lens allows to take a photo of $ w $ species on it, i.e. Dina can take a photo containing flowers with indices from $ x $ to $ x + w - 1 $ for some integer $ x $ between $ 0 $ and $ l - w $ . We will denote such photo with $ [x, x + w - 1] $ . She has taken $ n $ photos, the $ i $ -th of which (in chronological order) is $ [x_i, x_i + w - 1] $ in our notation. She decided to build a time-lapse video from these photos once she discovered that Oenothera blossoms open in the evening. Dina takes each photo and truncates it, leaving its segment containing exactly $ k $ flowers, then she composes a video of these photos keeping their original order and voilà, a beautiful artwork has been created! A scene is a contiguous sequence of photos such that the set of flowers on them is the same. The change between two scenes is called a cut. For example, consider the first photo contains flowers $ [1, 5] $ , the second photo contains flowers $ [3, 7] $ and the third photo contains flowers $ [8, 12] $ . If $ k = 3 $ , then Dina can truncate the first and the second photo into $ [3, 5] $ , and the third photo into $ [9, 11] $ . First two photos form a scene, third photo also forms a scene and the transition between these two scenes which happens between the second and the third photos is a cut. If $ k = 4 $ , then each of the transitions between photos has to be a cut. Dina wants the number of cuts to be as small as possible. Please help her! Calculate the minimum possible number of cuts for different values of $ k $ .

输入输出格式

输入格式


The first line contains three positive integer $ n $ , $ w $ , $ q $ ( $ 1 \leq n, q \leq 100\,000 $ , $ 1 \leq w \leq 10^9 $ ) — the number of taken photos, the number of flowers on a single photo and the number of queries. Next line contains $ n $ non-negative integers $ x_i $ ( $ 0 \le x_i \le 10^9 $ ) — the indices of the leftmost flowers on each of the photos. Next line contains $ q $ positive integers $ k_i $ ( $ 1 \le k_i \le w $ ) — the values of $ k $ for which you have to solve the problem. It's guaranteed that all $ k_i $ are distinct.

输出格式


Print $ q $ integers — for each width of the truncated photo $ k_i $ , the minimum number of cuts that is possible.

输入输出样例

输入样例 #1

3 6 5
2 4 0
1 2 3 4 5

输出样例 #1

0
0
1
1
2

输入样例 #2

6 4 3
1 2 3 4 3 2
1 2 3

输出样例 #2

0
1
2

Input

题意翻译

给定长度为 $n$ 的序列,常数 $w$,询问次数 $q$。 接下来$q$组询问,每次给出一个常数 $k_i$,求最少把序列分为多少段使得每段序列中数的极差不超过 $w-k_i$,输出最小的段数 $-1$。 不强制在线。

加入题单

上一题 下一题 算法标签: