Техника двух указателей
“Ən yaxşı” komanda
Bu gün n proqramçı bir araya gəldilər. Hər bir proqramçının gücünü göstərən reytinq göstəricisi var. Reytinqlər 0-dan 10^9
-a qədər tam ədədlər ola bilər. Sizin də bir proqramçı olaraq m reytinqiniz var. Siz bu proqramçılardan iki nəfəri öz komandanıza almaq istəyirsiniz. Bu ikilini elə seçmək lazımdır ki, onların reytinqlərinin cəmi maksimum olsun, lakin cəm sizin reytinqinizi keçməsin, çünki siz komandanın əsas hissəsi olmaq istəyirsiniz.
Giriş verilənləri
Birinci sətirdə iki tam ədəd n (2 ≤ n ≤ 10^5
) - proqramçıların sayı və m (0 ≤ m ≤ 10^9
) - sizin reytinqiniz verilir. İkinci sətirdə boşluqla ayrılmış n tam ədəd r[1]
, r[2]
, ... r[n]
(0 ≤ r[i]
≤ 10^9
) - proqramçıların reytinqləri verilir.
Çıxış verilənləri
Çıxışa bir tam ədəd – seçdiyiniz ikilinin reytinqləri cəmini, belə ikili seçmək mümkün olmadıqda isə -1 verin.
Nümunə
5 8 5 3 4 6 5
8
7 19 8 4 25 1 20 5 12
17
4 76 38 41 39 40
-1