Algorytm wyświetlający najmniejszą różnicę, oraz pary liczb o najmniejszej różnicy

0

Witam.

Muszę napisać algorytm otrzymujący na wejściu liczbę n<=1000000, a następnie n różnych liczb od 0 do 1000000.
Jako wyjście ma wyświetlić wartość bezwzględną najmniejszej różnicy pomiędzy liczbami, a w kolejnych liniach parę (lub pary) liczb o najmniejszej różnicy.

Algorytm działa, ale niestety za wolno. Marny ze mnie programista i nie bardzo wiem jak inaczej mógłbym to napisać. Algorytm powinien działać w złożoności O(nlog(n)).

KOD USUNIĘTY

1

Posortuj za pomocą funkcji sort z stl'a tablice w czasie nlogn, a potem liniowo przeiteruj tablice i znajdź minimalną różnice pomiędzy dwoma kolejnymi elementami, a potem jeszcze raz przeiteruj tablice i wypisz wszystkie dwa kolejne elemnty których różnica jest tą minimalną.

0

Właśnie jakoś z godzinę po napisaniu tematu mi to przyszło do głowy. Przechodzi testy bezproblemowo. Dzięki za odpowiedz :)

ps. Usuwam swój kod, aby uniknąć plagiatu.

Pozdrawiam.

1 użytkowników online, w tym zalogowanych: 0, gości: 1