2 of 7 deleted 139 characters in body

C (gcc), 131 116 bytes

L(a,v,A,s){srand(clock());for(s=5,v=1000;s--;)a>44&s<3|a>59|!s&&(A=rand()%(v+1))&&printf("%d",s?v-=A,A:v),puts("");}

Update: Fixed a bug in the original. Fused in the helper function, reducing an additional 15 bytes.

Degolf

L(a,v,A,s){
    srand(clock());
    for(s=5,v=1000;s--;)
        a>44&s<3|a>59|!s && // Determine whether to print a number, using AND instead of if().
        (A=rand()%(v+1)) && // Random number in [0, v]. If v == 0, nothing prints
                            // because x%1 == 0 for all x.
        printf("%d",s?v-=A,A:v), // Print random number, and deduct it from total.
        puts("");} // Newline.

Try it online!