자기개발👨💻/코딩 알고리즘
[c++] 백준 1912 연속합
천숭이
2020. 8. 11. 21:10
#include<iostream>
#include<algorithm>
using namespace std;
int arr[100000];
int dp[100000];
int main() {
int n;
cin >> n;
for (int i = 0; i < n; i++) {
cin >> arr[i];
}
//dp는
dp[0] = arr[0]; //기본적으로 첫번째 인덱스는 같다, 먼저 초기화해주기
for (int i = 1; i < n; i++) {
dp[i] = max(dp[i - 1] + arr[i], arr[i]);
}
int Max = dp[0]; //입력조건을 보고 나올 수 없는 수 중에서 가장 작은수로 초기화하기 or 현재 dp배열에서 가장 작은수
for (int i = 0; i < n; i++)
if (Max < dp[i])
Max = dp[i];
cout << Max;
}