305978: CF1118D2. Coffee and Coursework (Hard Version)
Memory Limit:256 MB
Time Limit:2 S
Judge Style:Text Compare
Creator:
Submit:0
Solved:0
Description
Coffee and Coursework (Hard Version)
题意翻译
n 杯咖啡,每一杯有一个值$a_i$. 有 m 项作业。 每一天可以选择喝若干杯咖啡 $i_1$,$i_2$ ... $i_k$,喝第一杯可完成 $a_{i_1}$项作业,喝第二杯可完成max(0,$a_{i_2}$ - 1)项作业,喝第 k 杯可完成max(0,$a_{i_k}$ + k - 1)项作业。(一杯只能喝一次) 问至少需要多少天能完成这 m 项作业,不能完成则输出 -1 数据范围:1<=n<=2e5,1<=m<=1e9,1<=$a_{i}$<=1e9题目描述
The only difference between easy and hard versions is the constraints. Polycarp has to write a coursework. The coursework consists of $ m $ pages. Polycarp also has $ n $ cups of coffee. The coffee in the $ i $ -th cup Polycarp has $ a_i $ caffeine in it. Polycarp can drink some cups of coffee (each one no more than once). He can drink cups in any order. Polycarp drinks each cup instantly and completely (i.e. he cannot split any cup into several days). Surely, courseworks are not being written in a single day (in a perfect world of Berland, at least). Let's consider some day of Polycarp's work. Consider Polycarp drinks $ k $ cups of coffee during this day and caffeine dosages of cups Polycarp drink during this day are $ a_{i_1}, a_{i_2}, \dots, a_{i_k} $ . Then the first cup he drinks gives him energy to write $ a_{i_1} $ pages of coursework, the second cup gives him energy to write $ max(0, a_{i_2} - 1) $ pages, the third cup gives him energy to write $ max(0, a_{i_3} - 2) $ pages, ..., the $ k $ -th cup gives him energy to write $ max(0, a_{i_k} - k + 1) $ pages. If Polycarp doesn't drink coffee during some day, he cannot write coursework at all that day. Polycarp has to finish his coursework as soon as possible (spend the minimum number of days to do it). Your task is to find out this number of days or say that it is impossible.输入输出格式
输入格式
The first line of the input contains two integers $ n $ and $ m $ ( $ 1 \le n \le 2 \cdot 10^5 $ , $ 1 \le m \le 10^9 $ ) — the number of cups of coffee and the number of pages in the coursework. The second line of the input contains $ n $ integers $ a_1, a_2, \dots, a_n $ ( $ 1 \le a_i \le 10^9 $ ), where $ a_i $ is the caffeine dosage of coffee in the $ i $ -th cup.
输出格式
If it is impossible to write the coursework, print -1. Otherwise print the minimum number of days Polycarp needs to do it.
输入输出样例
输入样例 #1
5 8
2 3 1 1 2
输出样例 #1
4
输入样例 #2
7 10
1 3 4 2 1 4 2
输出样例 #2
2
输入样例 #3
5 15
5 5 5 5 5
输出样例 #3
1
输入样例 #4
5 16
5 5 5 5 5
输出样例 #4
2
输入样例 #5
5 26
5 5 5 5 5
输出样例 #5
-1