#include <iostream> #include <vector> #include <algorithm> using namespace std; int main() { vector<int> v; int n; cin>>n; vector<int> d(n); for(int i=0;i<n;i++) { int in; cin>>in; v.push_back(in); } for(int i=0;i<n;i++) { d[i]=v[i]; if(i==0) continue; if(d[i-1]+v[i]>d[i]) d[i]=d[i-1]+v[i]; } int max = *max_element(d.begin(), d.end()); cout<<max; return 0; }
i번째 수와 i-1번째 수의 합이 i번째 보다 크다면 d[i]에 저장하는것을 이용