Ja ok, damit hast Du die ungültigen Fälle abgefangen, und einen Sortieralgorithmus umgangen, wenn auch 5kB für verbraucht.
Mit 16Bit hat das dann zwar nichts mehr zu tun, wenn Du nur 2500Werte speicherst, aber Du hast von vornherein nicht alle Vorrausetzungen genau genannt, sodass wir das hier nicht beurteilen können.
Ich denke trotzdem, dass Du keine 5kB bräuchtest.
Aber manchmal ist man einfach glücklich damit, dass es funktioniert...
Viel Spass dabei.
Gruß