알고리즘
BOJ 1912 연속합 c++
백준 1912
#include <bits/stdc++.h>
using namespace std;
int arr[100005];
int d[100005];
int main() {
ios::sync_with_stdio(0);
cin.tie(0);
int n;
cin >> n;
for (int i = 1; i <= n; i++)
cin >> arr[i];
d[1] = arr[1];
for (int i = 2; i <= n; i++) {
d[i] = max(0, d[i-1]) + arr[i];
}
cout << *max_element(d + 1, d + n + 1);
}
d\[i]에 하나씩 저장해가는데, 0보다 큰 녀석들만 더하면서 담는 것.
max_element는 시작주소와 마지막주소 + 1을 넣으면 최대값이 담긴 곳의 주소를 리턴하는 함수.
'Algorithm' 카테고리의 다른 글
BOJ 1931 c++ (0) | 2020.07.16 |
---|---|
BOJ 11047 c++ (0) | 2020.07.16 |
BOJ 11053 c++ (0) | 2020.07.16 |
BOJ 1463 c++ (0) | 2020.07.15 |
BOJ 1149 c++ (0) | 2020.07.15 |
최근댓글