Annettuna on lista lukuja ja luku x. Tehtäväsi on selvittää pisimmän yhtenäisen osavälin pituus, jossa viimeinen luku on suurempi tai yhtä suuri kuin ensimmäinen luku. Lisäksi viimeisen ja ensimmäisen luvun erotus saa olla korkeintaan x.
Voit olettaa, että listan pituus on korkeintaan 10^5 ja x sekä listan sisältämät luvut ovat korkeintaan 10^9.
Toteuta tiedostoon segments.py
funktio find
, joka kertoo pisimmän kelvollisen osavälin pituuden.
def find(t, x): # TODO if __name__ == "__main__": print(find([1, 4, 6], 1)) # 1 print(find([1, 4, 6], 10)) # 3 print(find([4, 1, 10, 5, 14], 1)) # 4 print(find([4, 1, 10, 5, 14], 10)) # 5 print(find([9, 8, 7, 6, 5, 4, 3, 2, 1], 100)) # 1
Selitys: Kolmannessa esimerkissä välin [4, 1, 10, 5] pituus on 4 ja lisäksi 4 \le 5 ja 5-4 \le 1.