#include <iostream>
#include <unordered_map>
#include <map>
#include <algorithm>
#include <string>
#include <vector>
#include<stack>
#include<queue>
#include<deque>
#include<memory>
using namespace std;
int main()
{
string str;
getline(cin,str);
//cout<<str<<endl;
vector<int> nums;
int sig = 1;
for(int i=0;i<str.size();i++)
{
if(str[i]=='-')
{
sig = -1;
continue;
}
if(str[i]>='0'&&str[i]<='9')
{
int num = 0;
while(i<str.size()&&str[i]>='0'&&str[i]<='9')
{
num = 10*num+str[i]-'0';
i++;
}
nums.push_back(sig*num);
sig = 1;
}
}
//for(auto n:nums)
// cout<<n<<" ";
//cout<<endl;
int res = INT_MIN;
int ans = INT_MIN;
for(int i=0;i<nums.size();i++)
{
res = max(res+nums[i],nums[i]);
ans = max(ans,res);
}
cout<<ans<<endl;
}
这是我A掉的,你可以参考一下