49

Description

一辆汽车加满油后可行驶n公里。旅途中有若干个加油站。设计一个有效算法,指出应在哪些加油站停靠加油,使沿途加油次数最少。

Input

第一行有2个正整数n和k,表示汽车加满油后可行驶n公里,且旅途中有k个加油站。接下来的1 行中,有k+1个整数,表示第k个加油站与第k-1个加油站之间的距离。第0个加油站表示出发地,汽车已加满油。第k+1个加油站表示目的地。

Output

将计算出的最少加油次数输出。如果无法到达目的地,则输出”No Solution”。

Sample Input

7 7
1 2 3 4 5 1 6 6

Sample Output

4



#include<stdio.h>
int count=0;
void Count(int max_l,int n)
{
    int a[n];
    int i,j,flag=0;
    for(i=0;i<=n;i++)
    {
        scanf("%d",&a[i]);
        if(a[i]>max_l)  flag=1;
    }
    if(flag==1)
    {
        printf("No Solution");
    }
    else
    {
        int max=0;
        for(j=0;j<=n;j++)
        {
            max+=a[j];
            if(max>max_l)
            {
                j--;
                max=0;
                count++;
            }
        }
        printf("%d",count);
    }
}

main()
{
    int n,max_l;
    scanf("%d%d",&max_l,&n);
    Count(max_l,n);
    scanf("%d%d",&max_l,&n);
}

 

posted on 2017-05-17 20:47  tuzhuo  阅读(157)  评论(0编辑  收藏  举报