BOJ 1912 c++

Algorithm / / 2020. 7. 16. 15:42

알고리즘

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
  • 네이버 블러그 공유하기
  • 네이버 밴드에 공유하기
  • 페이스북 공유하기
  • 카카오스토리 공유하기
// custom