Замінити лампочку
Limits: 2 sec., 256 MiB
У Марічки вдома зіпсулася лампочка в світильнику на стелі. Вона вважає що справжній леді не личить самій собі міняти лампочки, тому вона звернулася за допомогою до Зеника. Він же, в свою чергу, вирішив делегувати цю справу майстрам, про яких дізнались з реклами по телевізору.
Зіпсована лампочка розміщена на висоті \(t\) метрів. Реклама пропонує послуги \(n\) майстрів. Кожен з них має два параметри: довжина рук \(len_i\), а також висота на якій розташовані його плечі, коли він стоїть прямо \(h_i\). План наступний: Зеник замовить деяких майстрів. Перший майстер стане на підлогу під лампочкою. Другий майстер стане на плечі першому, третій — на плечі другому і т.д. Останній майстер простягне руки вверх, дотягнеться до лампочки, викрутить її і вставить нову. Знайдіть найменшу кількість майстрів котрі зможуть замінити лампочку.
Більш формально, вам необхідно знайти таке найменше \(k\), що існує така послідовність індексів \(p_j\), що \(h_{p_1} + h_{p_2} + ... + h_{p_k} + len_{p_k} \ge t\).
Input
Перший рядок містить два цілі числа \(n\) та \(t\) — кількість майстрів та висота лампочки, відповідно.
Кожен з наступних \(n\) рядків містить по парі цілих чисел \(h_i\) та \(len_i\) — висота плеч та довжина рук відповідного майстра.
Output
В єдиному рядку виведіть одне ціле число — мінімальну кількість майстрів необхідних для роботи.
Якщо лампочку замінити не вдасться, виведіть -1
.
Constraints
\(1 \le n \le 10^6\),
\(1 \le t, h_i, len_i \le 10^9\).
Samples
Input (stdin) | Output (stdout) |
---|---|
4 10 3 2 1 4 4 1 3 3 | 2 |
Input (stdin) | Output (stdout) |
---|---|
3 10 1 2 3 3 2 1 | -1 |
Input (stdin) | Output (stdout) |
---|---|
3 6 2 3 7 11 5 1 | 1 |
Notes
У першому прикладі четвертий майстер може стати на плечі третьому і дотягнутися до висоти 10.
У другому прикладі висоти майстрів не вистачить щоб дотягнутися до лампочки.
У третьому прикладі маємо одного дуже великого майстра котрий самотужки справиться із завданням.
Element Type | Created | Who | Problem | Compiler | Result | Time (sec.) | Memory (MiB) | # | Actions |
---|