# [C (gcc)], <s>131</s> <s>116</s> 90 bytes

<!-- language-all: lang-c -->

    L(l,a,v,A){for(A=5,v=1000;A--;)v-=a=A?l>59|A<3&l>44?rand()%-~v:0:v,printf("%d\n"+!a*2,a);}

[Try it online!][TIO-jlyyirba]

[C (gcc)]: https://gcc.gnu.org/
[TIO-jlyyirba]: https://tio.run/##VY7LUoMwGIX3PMVvHZwEgpMqOJYQOuzrE6iLGC5NTYMDFBcVH91IWl10d@Y7lzkyaqS018pIfSgryPqhVO3tNvcukFZvl2xQ@2omdoM0EWQkBT7WbYcKnpCRLymlrIgihseIC16sdZ6svors/kbncbzuhCkR9qPvMaXpSD46ZYYaLfzyxSzCKxHcEYHZZGcKe6EMckJ0jSRyKzoIglmPGI4eQH@akrqV7whjNhN3wuUVpwzCUGWuyM5pAOfsuBhahdzIs3o9lQD@Pzwpcxgq8Mt0/kJg92dv0FlN3mTtMrFxbOPEJiv7QO0j/ZG1Fk1vo89f "C (gcc) – Try It Online"

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

**Update 2**: -25 bytes thanks to ErikF.

## Degolf

    L(l,a,v,A){ // l: time, a: random value, v: remaining volume, A: level
        for(A=5,v=1000;A--;)
            v-=a=  // Assign random value and deduct it from remainder
              A?
                  l>59|A<3&l>44?rand()%-~v // If layer could have something, randomize it. -~v == (v+1)
                  :0 // Else, value is 0.
              :v,  // If last level, value is remaining volume
            printf("%d\n"+!a*2,a); // Print value; if a==0, advance pointer to the string constant by 2.
    }