6-12 浇树几何 (10 分)

因旱灾,许多的小树快干死了,现有N棵小树,第i棵小树(树的编号是0–N-1)维持生命需要的最少水量是w[i],现给你一总量为W的水,你可以任选一片连续的区间对小树进行浇灌(维持生命即可),编写函数,求可浇灌的最多树的数量。

函数接口定义:
int fun(int *w,int N,int W);
w是每棵小树需要最少水量的数组初地址。 N 表示树的数量。W是可用的总水量。

输入样例:
第一行两个正整数:树的数量N和总水量W。第二行是N个正整数(空格分隔)。

8 5
3 1 1 2 1 2 1 2
输出样例:
计算并返回利用所给水可灌溉的一片连续的小树最大数量。

4
说明:总水量是5,最多可浇的方案是:1,1,2,1(最多浇4棵小树)。

/* 请在这里填写答案 */`

int fun(int *w,int N,int W)
{
    int max=0,flag,i,j=0,a;
    while(1)
    {
        for(i=j,flag=0,a=W;a>0&&i<N;i++)
        {
            a=a-w[i];
            flag++;
            if(a<0) flag=flag-1;
        }
        if(max<flag) max=flag;
        j++;
        if(i==N) break;
    }
    return max;
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

程序小黄

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值