首页 > 其他 > 详细

【Luogu】【关卡2-6】贪心(2017年10月)

时间:2017-10-07 15:41:53      阅读:304      评论:0      收藏:0      [点我收藏+]

任务说明:贪心就是只考虑眼前的利益。对于我们人生来说太贪是不好的,不过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 }
View Code

 

【Luogu】【关卡2-6】贪心(2017年10月)

原文:http://www.cnblogs.com/zhangwanying/p/7634699.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!