Genera un valore random tra 0 e 100, aggiungilo al tuo array, sottrailo alla variabile che contiene il tuo valore da distribuire (800). Appena quel valore (800) diventa minore del valore random massimo che si può generare (100), sostituiscilo in modo tale che i successivi numeri random siano generati tra 0 ed il numero rimanente da distribuire.

Ci metto più a spiegarlo che a scrivere il codice. Fai un tentativo, e se non funziona postalo qui.