F.A.Q
Hand In Hand
Online Acmers
Problem Archive
Realtime Judge Status
Authors Ranklist
 
     C/C++/Java Exams     
ACM Steps
Go to Job
Contest LiveCast
ICPC@China
Best Coder beta
VIP | STD Contests
    DIY | Web-DIY beta
Author ID 
Password 
 Register new ID

水池

Time Limit: 7000/3500 MS (Java/Others)    Memory Limit: 524288/524288 K (Java/Others)
Total Submission(s): 87    Accepted Submission(s): 34


Problem Description
现在有 $ N $ 个城市,每个城市都有一个水池,水池的容量是无限的。初始时,第 $ i $ 个城市的水池有 $ A_i $ 的水量。

共有 $ Q $ 个事件:

第一种事件是:位于$ [L,R] $ 的城市下了一场雨,并用 $ X $ 来表示这场雨的大小,即这些城市的水池里的水会增加 $ X $ 的水量。

第二种事件是:假设 hezlik 初始位于 $ L $,他可以选择一个 $ R(L\leq R) $ 并选择 $ [L,R] $ 这些城市中的恰好 $ K $ 个水池,然后得到这些水池的水。他想收集至少 $P$ 的水量,但是他并不想走太远,请你告诉他最小的 $ R $ 会在哪里。如果不存在的话,请你输出 -1。由于 hezlik 非常善良可爱,在收集完成后会将所有的水放回原来的水池,所以在该事件结束后,并不会对水池的水量造成任何影响。
 

Input
第一行输入两个整数 $N$ 和 $Q$,表示城市的个数和事件的个数。

第二行输入 $N$ 个整数,表示第 $i$ 个城市的水池初始时的水量 $A_i$。

接下来 $Q$ 行,每行描述一个事件,每行包含四个整数。

如果第一个整数是 $1$,表示这是第一种事件,接下来三个整数表示 $L$,$R$ 和 $X$。

如果第一个整数是 $2$,表示这是第二种事件,接下来三个整数表示 $L$,$K$ 和 $P$。

$1 \leq N, Q \leq 3 \times 10^5$,$1 \leq A_i, X \leq 10^6$,$1 \leq L\leq R\leq N$,$1 \leq K \leq 10$,$1\leq P \leq 10^{18}$。
 

Output
对于第二种事件,输出最小的 $R$ 即可。
 

Sample Input
10 5 2 4 2 10 2 5 2 8 5 3 1 4 7 10 2 1 2 35 1 2 4 8 2 3 2 38 2 1 2 44
 

Sample Output
6 4 -1
 

Source
 

Statistic | Submit | Discuss | Note
Hangzhou Dianzi University Online Judge 3.0
Copyright © 2005-2024 HDU ACM Team. All Rights Reserved.
Designer & Developer : Wang Rongtao LinLe GaoJie GanLu
Total 0.000000(s) query 1, Server time : 2024-10-05 19:09:26, Gzip enabled