牛牛有羊羊有了属于他们自己的飞机。于是他们进行几次连续的飞行。f[i]表示第i次飞行所需的燃油的升数。飞行只能按照f数组所描述的顺序进行。
起初飞机里有s升燃油,为了正常飞行,每次飞行前飞机内燃油量应大于等于此处飞行所需要的燃油量。请帮助他们计算在不进行加油的情况下他们能进行的飞行次数。
输入包括两行,第一行包括两个整数n和s(1 ≤ n ≤ 50, 1 ≤ s ≤ 1000),分别表示计划飞行的次数和飞起初始状态下有的燃油量。 第二行包括n个整数f[i], (1 ≤ f[i] ≤ 1000), 表示每次计划飞行所需要的燃油量。
输出一个整数,表示他们能进行的飞行次数。
7 10 1 2 3 4 5 6 7
4
def method(num,s): dp = [0 for _ in range(len(num))] for i in range(len(num)): temp = num[i] j = i while j<len(num) and temp<=s: j += 1 if j<len(num): temp += num[j] dp[i] = j-i return dp[0] if __name__=='__main__': n,s = list(map(int,input().split())) num = list(map(int,input().split())) print(method(num,s))
n, s = map(int, input().split()) f = list(map(int, input().split())) num = 0 for i in range(n): if s >= f[i]: num += 1 s -= f[i] else: break print(num)
n,s=list(map(int,input().split())) f=list(map(int,input().split())) accum=[0]*n accum[0]=f[0] for i in range(n-1): accum[i+1]=accum[i]+f[i+1] for x in accum: if x==s: print(accum.index(x)+1) break elif x>s: print(accum.index(x)) break elif accum[-1]<s: print(n) break