Eroul nostru, Mao, a ajuns în Crângul cu Bambuși din Universul Paralel unde înălțimile tulpinilor de bambus sunt amețitoare. În crângul din acest univers se află n tulpini de înălțimi h[1], h[2], …, h[n]. Mao are nevoie să taie cel puțin M metri de bambus, așa că el procedează astfel: își alege o înălțime H și trece pe la fiecare tulpină în parte. Dacă bambusul i are înălțimea h[i] mai mare decât H, atunci taie din el partea de sus astfel încât să rămână exact H metri, iar dacă bambusul are cel mult H metri, atunci nu taie deloc. De exemplu, dacă bambușii au înălțimile 9,7,5,2,8 și H = 5, atunci după tăiere înălțimile vor fi 5,5,5,2,5 și se obțin 4+2+0+0+3=9 metri cu care Mao va pleca acasă.
Cerința
Să se determine înălțimea maximă H pe care o poate fixa Mao astfel încât după tăiere să poată pleca acasă cu cel puțin M metri de bambus.
Date de intrare
Fișierul de intrare bambusi.in conține pe prima linie numerele naturale n și M, iar pe a doua linie valorile h[1], h[2], …, h[n], separate prin câte un spațiu.
Date de ieșire
Fișierul de ieșire bambusi.out va conține pe prima linie un singur număr natural H reprezentând înălțimea maximă la care vor fi tăiați bambușii astfel încât Mao să poată pleca acasă cu cel puțin M metri de bambus.
Restricții și precizări
1 ≤ n ≤ 100.0001 ≤ M ≤ 2.000.000.0001 ≤ h[i] ≤ 1.000.000.000,i=1..n- Pentru datele de test va exista mereu soluție, deci Mao poate pleca acasă cu cel puțin
Mmetri. - Cum se va întoarce Mao în Universul nostru, e treaba lui.
Exemplul 1:
bambusi.in
5 8 9 7 5 2 8
bambusi.out
5
Explicație
Dacă ar fi tăiat la înălțimea H = 6, atunci ar fi obținut 3 + 1 + 0 + 0 + 2 = 6 metri de bambus, insuficient, deoarece Mao vrea 8 metri. Așa că taie la înălțimea H = 5 și obține chiar mai mult, 9 metri. Deci H = 5 este înălțimea maximă căutată.
Exemplul 2:
bambusi.in
5 10 2 1 1 2 4
bambusi.out
0
Explicație
Mao are doar o soluție, anume să taie toți bambușii de tot, adică de la înălțimea 0, astfel încât să obțină 2 + 1 + 1 + 2 + 4 = 10 metri.