Quantcast
Channel: Forum Pasja Informatyki - Najnowsze pytania
Viewing all articles
Browse latest Browse all 65225

Jak zoptymalizować program szukający liczby inwersji w ciągu?

$
0
0
Czy mógłbym poprosić o podrzucenie jakiegoś pomysłu jak zrobić to zadanie szybciej ?

na razie potrafię je zrobić w n^2

Napisz program, który dla danego ciągu obliczy liczbę jego inwersji. Inwersją nazywamy taką parę (niekoniecznie kolejnych) indeksów (i,j), że i<j, ale ai>aj. Na przykład ciąg (1,3,4,2) ma 2 inwersje: (3,2) oraz (4,2).

Zadanie

Napisz program, który:

wczyta ze standardowego wejścia ciąg liczb całkowitych,

obliczy liczbę jej inwersji,

wypisze wynik na standardowe wyjście.

Wejście

W pierwszym wierszu wejścia znajduje się jedna liczba całkowita n, (1 <=n<= 60000), oznaczająca liczbę elementów ciągu. Kolejnych n wierszy zawiera po jednej liczbie całkowitej ai (-10^9 <= ai <= 10^9).

Wyjście

W pierwszym i jedynym wierszu wyjścia należy wypisać jedną liczbę całkowitą, oznaczającą liczbę inwersji w podanym ciągu.

Przykład

Dla danych wejściowych:

4 1 3 4 2

Poprawnym wynikiem jest:

2

Viewing all articles
Browse latest Browse all 65225

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>