问题标题: 酷町堂:1265完美10分

0
0
已解决
龙舟
龙舟
高级光能
高级光能

#include<iostream>

#include<cmath>

#include<iomanip>

#include<string>

#include<algorithm>

#include<cstdio>

using namespace std;

int a[10100];

int main()

{

int n,s,ans=0,sum=0;

cin>>n>>s;

for(int i=1;i<=n;i++)

{

    cin>>a[i];

}

for(int i=1;i<=n;i++)

{

if(sum>s){

    ans++;

}

else{

sum+=a[i];

}

}

cout<<ans+1;

return 0;

}

 


0
已采纳
郑金顺
郑金顺
中级光能
中级光能

sum要清0

郑金顺在2020-08-27 14:57:06追加了内容

在if(sum>s){

    ans++;

 

}

中清0

郑金顺在2020-08-27 15:15:06追加了内容

输出是加1

郑金顺在2020-08-27 15:16:33追加了内容

s

0
丁博扬
丁博扬
中级天翼
中级天翼

你这个标题......

太完美了

同上

0
0
蔡奕辰
蔡奕辰
高级守护
高级守护

要在if中清零,不然每个都会算

蔡奕辰在2020-08-27 15:00:09追加了内容

sum清零

0
王子健
王子健
初级天翼
初级天翼

小龙龙你最近问题有点多啊,但也同样谢谢你帮我A了一道贪心3分大大大水题

此题不算难,我看到题目其实一下子就有了一个思路:不用数组,输入一个便判断

我们定义n,s,ans, sum,这些定义在主函数外,函数内定义t,这样程序自动清零

输入t便进行操作:

如果 sum + t <= s   sum += t;

else    ans ++, sum  = t

最后输出ans+1即可,具体code如下:

定义+输入自己写吧

循环内部判断:

输出自己肯定会

附图为AC证据:

(留个万能头给你欣赏(doge))

PS:期待周日的相遇哦~

我要回答