본문으로 바로가기

출처 : www.acmicpc.net/problem/1912

 

고려사항

- 구간합 알고리즘을 이용하면 쉽게 구할 수 있음.

 

#include <iostream>
#include <algorithm>
using namespace std;
int main() {
int n, ans = 0;
cin>>n;
int num[n], s[n];
for(int i=0;i<n;++i){
cin>>num[i];
}
s[0] = num[0];
ans = s[0];
for(int i=1;i<n;++i){
s[i] = max(s[i-1]+num[i], num[i]);
ans = max(ans, s[i]);
}
cout<<ans;
return 0;
}