Νομίζω ότι σ'αυτές τις περιπτώσεις πρέπει να κάνουμε ξεχωριστά έλεγχο για τις αρνητικές τιμές και όχι να τις συμπεριλάβουμε σε μία συνθήκη (όπως έκανες εσύ).
Δηλαδή να πάρουμε περιπτώσεις για τα 3 διαστήματα ( 0,500 - 501,1000 - >1000 ) με Αν , Αλλιώς_Αν και στο Αλλιώς να ελέγξουμε την συμπεριφορά του αλγορίθμου για τις αρνητικές τιμές.