Python 3Python 2, 72 \$\cdots\$ 4643 4342 bytes
Saved 7 bytes thanks to the man himself Arnauld!!!
Saved 33 4 bytes thanks to dingledooper!!!
f=lambda l:l>[]!=1/lenl>[]>1>=len(l)>=l*l.pop()and-~f(l) Assumes the input is sorted from highest to lowest.