Luogu关卡2-6贪心(2017年10月)
Posted zhangwanying
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Luogu关卡2-6贪心(2017年10月)相关的知识,希望对你有一定的参考价值。
任务说明:贪心就是只考虑眼前的利益。对于我们人生来说太贪是不好的,不过oi中,有时是对的。
P1181 数列分段Section I
给一个n个元素的数组,和一个数字m,问最少能把这个数组分成几段,每段的和小于等于m。
直接贪心。
第一次提交全WA。注意写法。这种题目一层循环就好了,写两层完全错。
第二次提交AC了。
1 #include <iostream> 2 #include <cstdio> 3 #include <cstdlib> 4 #include <vector> 5 6 using namespace std; 7 8 int main() { 9 int ans = 0; 10 int n; 11 long long m; 12 cin >> n >> m; 13 vector<long long> vec(n); 14 for(int i = 0; i < n; ++i) { 15 cin >> vec[i]; 16 } 17 int start = 0; 18 long long summ = 0; 19 for (int i = start; i < n; ++i) { 20 if (summ + vec[i] > m) { 21 ++ans; 22 summ = 0; 23 --i; 24 } else { 25 summ += vec[i]; 26 } 27 } 28 if (summ != 0) { 29 ++ans; 30 } 31 cout << ans << endl; 32 return 0; 33 }
以上是关于Luogu关卡2-6贪心(2017年10月)的主要内容,如果未能解决你的问题,请参考以下文章
Luogu关卡1-8BOSS战-入门综合练习2(2017年10月)