zoukankan      html  css  js  c++  java
  • cf435A Queue on Bus Stop

     
    A. Queue on Bus Stop
    time limit per test
    1 second
    memory limit per test
    256 megabytes
    input
    standard input
    output
    standard output

    It's that time of the year when the Russians flood their countryside summer cottages (dachas) and the bus stop has a lot of people. People rarely go to the dacha on their own, it's usually a group, so the people stand in queue by groups.

    The bus stop queue has n groups of people. The i-th group from the beginning has ai people. Every 30 minutes an empty bus arrives at the bus stop, it can carry at most m people. Naturally, the people from the first group enter the bus first. Then go the people from the second group and so on. Note that the order of groups in the queue never changes. Moreover, if some group cannot fit all of its members into the current bus, it waits for the next bus together with other groups standing after it in the queue.

    Your task is to determine how many buses is needed to transport all n groups to the dacha countryside.

    Input

    The first line contains two integers n and m (1 ≤ n, m ≤ 100). The next line contains n integers: a1, a2, ..., an (1 ≤ ai ≤ m).

    Output

    Print a single integer — the number of buses that is needed to transport all n groups to the dacha countryside.

    Sample test(s)
    input
    4 3
    2 3 2 1
    output
    3
    
    input
    3 4
    1 2 1
    output
    1
    模拟题……没啥好说的。贴代码:
    #include<cstdio>
    #include<iostream>
    #include<cstdlib>
    #include<cstring>
    #include<algorithm>
    #include<cmath>
    using namespace std;
    #define inf 0x7fffffff
    #define LL long long
    #define read fastreading()
    inline int fastreading()
    {
        int x=0,f=1;char ch=getchar();
        while(ch<'0'||ch>'9'){if(ch=='-')f=-1;ch=getchar();}
        while(ch>='0'&&ch<='9'){x=x*10+ch-'0';ch=getchar();}
        return x*f;
    }
    int a[1000];
    int n,m,ans,s;
    int main()
    {
        n=read;
        m=read;
        for (int i=1;i<=n;i++)
          {a[i]=read;if (a[i]+s<=m) {s+=a[i];}else {ans++;s=a[i];}if (a[i]==m){ans++;s=0;}}
        if (s) ans++;
        cout<<ans;
    }
    ——by zhber,转载请注明来源
  • 相关阅读:
    获取Tekla属性方式
    基于C# 百度AI和科大汛飞语音合成SDK
    BIM工程信息管理系统-EF实体框架数据操作基类
    BIM工程信息管理新系统- 系统管理模块
    EChart绘制风速风向曲线分析图
    BIM工程信息管理系统-详细设计
    BIM工程信息管理系统搭建-系统功能需求
    基于C# 调用百度AI 人脸识别
    mago3DJS 应用
    Bitnami redmine windows环境下升级
  • 原文地址:https://www.cnblogs.com/zhber/p/4035975.html
Copyright © 2011-2022 走看看