1 条题解

  • 0
    @ 2025-8-24 21:22:10

    自动搬运

    查看原文

    来自洛谷,原作者为

    avatar Dr_殇
    笑蔑生死乾坤弃,醉饮红尘几度春。 轻言功名如粪土,漠谓利禄于浮云。 踏破黄泉碎碧落,毫蘸沧溟饰昆仑。 洞悉世间三千道,怎惧地暗又天昏!

    搬运于2025-08-24 21:22:09,当前版本为作者最后更新于2017-09-13 22:24:00,作者可能在搬运后再次修改,您可在原文处查看最新版

    自动搬运只会搬运当前题目点赞数最高的题解,您可前往洛谷题解查看更多

    以下是正文


    #很简单的一道暴力题这道题有两种方法,一种是边读边做,一种是读完数组再做。这两种方法对新手来说都很简单,不过边读边做相对简单一点。

    ##注意:ans一开始的初值必须为1,因为最后一段是加不进去的,所以初值一定要为1。

    ##代码如下:

    #include <cstdio>//头文件准备
    using namespace std;
    int n,m,ans=1;//ans的初值要为1
    int main(){
        scanf ("%d %d",&n,&m);
        int k=0;
        while (n--){//完全的边读边做
            int a;
            scanf ("%d",&a);//读入a
            if (k+a<=m){//判断k+a是否大于m,如果大于,ans要加1,然后a独立为一段;如果小于等于,k就要加上a
                k+=a;
            }
            else{
                ans++;
                k=a;
            }
        }
        printf ("%d\n",ans);//做完之后输出,结束
        while (1);//反抄袭
    }
    #珍爱生命,拒绝抄袭!
    
    • 1

    信息

    ID
    182
    时间
    1000ms
    内存
    125MiB
    难度
    2
    标签
    递交数
    0
    已通过
    0
    上传者