Spoko. Jak ja zaczynałem na SPOJu to też często się dziwiłem, że u mnie działa a inni widzą błędy 
Koncepcja:
Zamiast konstrukcji typu:
if zysk >= maxZysk:
maxZysk = zysk
zrób coś typu:
maxZysk = mojaFunkcja(zysk, maxZysk)
Funkcję mojaFunkcja stwórz samodzielnie. Oczywiście tylko w celach dydaktycznych. Później poszukaj czy Python nie daje Ci odpowiedniego narzędzia by nie pisać tak trywialnych funkcji jak mojaFunkcja.
Jak już zrozumiesz jak działają funkcje to możesz nawet uporządkować swój kod np. robiąc funkcję wczytującą dane wejściowe itp.
Co do Twojej koncepcji: brzmi jakby była przekombinowana, ale może jest dobra - zależy na ile ją rozumiem. Jeżeli to przekombinowane to jednak jesteś blisko czyli w sumie nieźle 
PS Dla zestawu:
6
5
-100
5
3
5
-100
też masz pewnie zły out. Jednocześnie jest on bardziej wyrazisty niż poprzedni i może nakieruje Cię na prawidłowe rozwiązanie.