Python 2, 117 113 108 107 106 105 bytes
from random import*
def f(n):a=['']*5;exec"i=randint(0,(n>44)+(n>59)<<1);a[i]=(a[i]or 0)+1;"*1000;print a
Returns a reversed list (bottom first)
Version inspired by the stackoverflow answer in the comments (edgecases are more likely):
Python 2, 129 bytes
from random import*
def f(n):a=sorted([1000]*5+sample(range(1001)*5,(n>44)+(n>59)<<1));print[y-x or''for x,y in zip([0]+a,a)[:5]]