Czesc. Mam takie zadanie:
"Danych jest n liczb. Znalezc taki przedzial, ktory zawiera najwieksza ilosc liczb z tego zbioru podzielnych przez 3. Dlugosc przedzialu pobrac od uzytkownika."
Wynik powinien byc postaci [poczatek;poczatek+dlugosc], gdzie poczatek to jedna z liczb zbioru.
Np. majac jakis taki zbior i szukana dlugosc przedzialu = 25
15,9,2,8,1,3,30,33,36,39
Wynikiem powinien byc przedzial [30;55].
Ja sobie posortowalem najpierw te punkty i pozniej przechadzac po posortowanej tablicy dla kazdego poczatku przedzialu szukalem liczb podzielnych przez 3 nalezacych do przedzialu [poczatek;poczatek+25]. Ale przy malej rozbieznosci wartosci danych i dlugim przedziale robi mi sie z tego chyba nawet O(n^2). Da sie to zrobic szybciej?