ca=[]
#each line is a testcase
#counts of 0..9's
ca+=[[1,0,0,0,0,0,0,0,0,0]]
ca+=[[1,50,0,6,0,22,0,0,0,0]]
ca+=[[0,5,2,0,0,0,0,0,0,3]]
ca+=[[2,0,5,0,0,3,0,2,0,1]]
ca+=[[0,1,2,3,4,5,0,0,0,0]]
ca+=[[5,1,3,5,2,4,0,2,0,1]]
ca+=[[2]*10]
ca+=[[5]*10]
dbg=0
for c in ca:
inp=[]
d=[0]
for ce,i in enumerate(c[0:]):
inp+=[ce]*i
for e in [x for x in inp if x>0]:
for i in range(len(d)-1):
if d[i]<d[i+1]+e:
d[i]+=1
break
else:
d[-1]+=1
d+=[0]
if dbg: print(d) #prints dungeon state
print(c,' => ',d[0])
CmNhPVtdICAgIAojZWFjaCBsaW5lIGlzIGEgdGVzdGNhc2UKI2NvdW50cyBvZiAwLi45J3MKY2ErPVtbMSwwLDAsMCwwLDAsMCwwLDAsMF1dCmNhKz1bWzEsNTAsMCw2LDAsMjIsMCwwLDAsMF1dCmNhKz1bWzAsNSwyLDAsMCwwLDAsMCwwLDNdXQpjYSs9W1syLDAsNSwwLDAsMywwLDIsMCwxXV0KY2ErPVtbMCwxLDIsMyw0LDUsMCwwLDAsMF1dCmNhKz1bWzUsMSwzLDUsMiw0LDAsMiwwLDFdXQpjYSs9W1syXSoxMF0KY2ErPVtbNV0qMTBdCgpkYmc9MAoKZm9yIGMgaW4gY2E6ICAgIAogICAgaW5wPVtdCiAgICBkPVswXQogICAgZm9yIGNlLGkgaW4gZW51bWVyYXRlKGNbMDpdKTogICAgICAgIAogICAgICAgIGlucCs9W2NlXSppCiAgICBmb3IgZSBpbiBbeCBmb3IgeCBpbiBpbnAgaWYgeD4wXToKICAgICAgICBmb3IgaSBpbiByYW5nZShsZW4oZCktMSk6CiAgICAgICAgICAgIGlmIGRbaV08ZFtpKzFdK2U6CiAgICAgICAgICAgICAgICBkW2ldKz0xCiAgICAgICAgICAgICAgICBicmVhawogICAgICAgIGVsc2U6CiAgICAgICAgICAgIGRbLTFdKz0xCiAgICAgICAgICAgIGQrPVswXQogICAgICAgIGlmIGRiZzogcHJpbnQoZCkgI3ByaW50cyBkdW5nZW9uIHN0YXRlCiAgICBwcmludChjLCcgPT4gJyxkWzBdKSAK
[1, 0, 0, 0, 0, 0, 0, 0, 0, 0] => 0
[1, 50, 0, 6, 0, 22, 0, 0, 0, 0] => 22
[0, 5, 2, 0, 0, 0, 0, 0, 0, 3] => 7
[2, 0, 5, 0, 0, 3, 0, 2, 0, 1] => 9
[0, 1, 2, 3, 4, 5, 0, 0, 0, 0] => 10
[5, 1, 3, 5, 2, 4, 0, 2, 0, 1] => 13
[2, 2, 2, 2, 2, 2, 2, 2, 2, 2] => 13
[5, 5, 5, 5, 5, 5, 5, 5, 5, 5] => 24