//感觉大家都凉在-5, 1, 2 ,3 ,4, -5, 6, 7这个序列上吧,3后面有个空格,所以会导致后续读取不出来
#include <iostream> #include <vector> #include <stdint.h> using namespace std; int main(void) { int num; vector<int> arr_int; while(scanf("%d",&num)!=EOF) { arr_int.push_back(num); char c = getchar(); //如果c读取到的是空格,那么再让他读取一次,直到不是空格为止 while (c == ' ') c = getchar(); if(c != ',') break; } //用于获取逗号隔开的序列 int result = INT32_MIN;//最小值 int count =0; //利用贪心算法 for(int i = 0; i < arr_int.size();i++) { count += arr_int[i]; if(count > result) result = count; if(count < 0) count = 0; } //返回最大的序列总和 cout << result << endl; }