Eating fish, growing in size
JavaScript (ES6), 44 bytes
Takes input as an array of integers.

a=&gt;a.map(x=&gt;s+=(t+=s&gt;=x&amp;&amp;x)&gt;s*-~s*2,t=s=1)|s

Try it online!
How?
The threshold \$T_s\$ to reach the size \$s+1\$ is given by:
$$T_s=2s(s+1)$$
We keep track of our current size in \$s\$ and of what we've eaten so far in \$t\$ (we start with \$t=1\$, so this is actually off by \$1\$).
For each fish \$x\$ in the shoal, assuming it's sorted from smallest to biggest:

we add \$x\$ to \$t\$ (i.e. we eat the fish) whenever we have \$s\ge x\$
we increment \$s\$ (i.e. we grow in size) if \$t &gt; T_s\$