#include <iostream> #include <vector> using namespace std; int SumOfMaxSubArray(vector<int> array) { if (array.empty()) return 0; if (array.size() == 1) return array[0]; int res = array[0]; int tmp_sum = 0; for (auto x : array) { tmp_sum += x; if (tmp_sum > res) res = tmp_sum; if (tmp_sum <= 0) tmp_sum = 0; } return res; } int main() { vector<int> arr1; int x; while(cin >> x){ arr1.push_back(x); } cout << SumOfMaxSubArray(arr1) << endl; return 0; }
测试结果