Как уже верно заметили, два цикла совершенно лишние. Но лишний цикл именно по j, потому что он проходит по массиву с конца и найти первый нарушающий элемент не может, в лучшем случае последний.
Кроме того, нарушена логика: нарушает порядок элемент a[j+1], а не a[j]. b = 0
for i in range(1, n):
if a[i-1] > a:
b = i Дальше без изменений (именно b > 0, элемент a[0] нарушать порядок никак не может).