【求助】新手,这个问题编了好久没有对,好心人帮忙看一下好吗?
描述 周末乐乐想和同学一起去看电影,他带着f元钱去买票,可是售票窗口的票都卖完了。正准备回家的乐乐发现在不远的地方有一个人拿着n张票在卖票,全是连号的票,每张票的价格都不同,他说可以卖给乐乐一些连在一起的票。由于乐乐手上的钱只有f元钱,乐乐想尽可能的多买票,请问乐乐最多能买几张票呢?
输入
输入第一行是2个整数n和f,用空格隔开。
(2<=n<=100000)( 10 <= f <=10000)
第二行共有n个整数ai(1<=ai<=30),分别表示这n张票的票价。
输出
输出一个整数m,表示乐乐能得买到的连续的最大票数。
样例输入
5 10
2 3 1 6 7样例输出
3
#include<stdlib.h>
#include<stdio.h>
#include<math.h>
int a[100001]={0};
int main ()
{
int n,f,k=0,i,j,sum=0;
scanf("%d %d",&n,&f);
for(i=0;i<n;i++)
{
scanf("%d",&a[i]);
}
for(i=0;i<n;i++)
{
sum+=a[i];
while(sum>f)
{
sum-=a[i];
i++;
}
if(sum<=f)
{
k++;
}
}
printf("%d",k);
system("pause");
return 0;
}
帮忙看一下这个程序哪错了,我新手,就用上面用过的语言就行,帮个忙啊,感激不尽。