标签:names cst bdd 提交 ios play color isp return
任务说明:贪心就是只考虑眼前的利益。对于我们人生来说太贪是不好的,不过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 }
标签:names cst bdd 提交 ios play color isp return
原文地址:http://www.cnblogs.com/zhangwanying/p/7634699.html