Python的请各位帮我这个忙帮我看看

有一个考查队到野外考查,在考查路线上有个地点可以作为宿营地.已知宿营地到出发点的距离依次为x1,x2,…xn且满足x1<x2<…<xn.每天他们只能前进30千米,而任意两个相邻的宿营地之间的距离都不超过30千米,在每个宿营地只住1天他们希望找到一个行动计划,使得总的宿营天数达到最少,设计一个算法求解这个问题.给出算法的主要步骤,证明算法是正确的,估计算法的时间复杂度

camps=[0,14, 18, 19, 28, 31, 44, 52, 59, 68, 70, 91, 108, 128, 136, 158, 169, 175, 195, 196, 197, 200]

d,s,i,j = 0,0,0,0

while 1:
    i += 1
    s = camps[i]-camps[j]
    if camps[i]==200:
        break
    if s > 30:
        i -= 1
        d += 1
        j = i
        print(f'第{d}天,第{i:>2}号营地,公里数:{camps[i]}')

print(f'\n第{d+1}天到达终点。')

'''
输出:
第1天,第 4号营地,公里数:28
第2天,第 7号营地,公里数:52
第3天,第10号营地,公里数:70
第4天,第11号营地,公里数:91
第5天,第12号营地,公里数:108
第6天,第14号营地,公里数:136
第7天,第15号营地,公里数:158
第8天,第17号营地,公里数:175

第9天到达终点。
'''