[C++ / 백준 1912번] 연속합

2024. 11. 22. 13:48·프로그래밍 공부/백준 (C++)

 

 

DP를 이용하여 풀이했다. 범위가 100,000 이고 시간 제한이 1초이므로 이중 for문을 사용할 수 없다.

따라서 카데인 알고리즘을 활용해 풀이했다.

배열 하나씩 더해가면서 DP 배열을 구하되  ans 변수를 이용해 최대 값이 나온 dp 배열 인덱스의 값을 동시에 찾도록 했다.

그리고 0번째 인덱스 값 혼자가 최대값일 때를 대비해 for문에 들어가지 않는 0번 인덱스를 ans 와 다시 한번 비교해 주었다.

 

주의할 점은 dp 배열은 (해당 인덱스 - 1 ) + a[해당 인덱스] 값과 a[해당 인덱스] 값 중 누가 큰지를 저장하는 역할이고(0부터 해당 인덱스까지의 원소를 합했을 때의 최대 값) , 실제 답은 ans 에 저장된다는 것이다.

 

 

#include <iostream>
#include <algorithm>
#include <vector>
using namespace std;


int main() {
    vector<int> a, dp;


    int N;
    cin >> N;

    for (int i = 0; i < N; i++)
    {
        int input;

        cin >> input;

        a.push_back(input);

    }

    dp.assign(N, 0);
    int ans = -989898;

    int tmp = 0;
    


    dp[0] = a[0];
    for (int i = 1; i < N; i++)
    {
        dp[i] = max(a[i], dp[i-1] + a[i]);

        ans = max(ans, dp[i]);
    }

    ans = max(ans, dp[0]);

    cout << ans;






    return 0;
}

'프로그래밍 공부 > 백준 (C++)' 카테고리의 다른 글

[C++ / 백준 2225번] 합분해  (0) 2024.11.23
[C++ / 백준 1699번] 제곱수의 합  (0) 2024.11.23
[C++ / 백준 11053번] 가장 긴 증가하는 부분 수열  (0) 2024.11.19
[C++/백준 15990번] 1, 2, 3 더하기 5  (0) 2024.11.14
[C++/백준 1463번] 1로 만들기  (0) 2024.10.30
'프로그래밍 공부/백준 (C++)' 카테고리의 다른 글
  • [C++ / 백준 2225번] 합분해
  • [C++ / 백준 1699번] 제곱수의 합
  • [C++ / 백준 11053번] 가장 긴 증가하는 부분 수열
  • [C++/백준 15990번] 1, 2, 3 더하기 5
Rocketbabydolls
Rocketbabydolls
Rocketbabydolls
  • Rocketbabydolls
    With The Lights Out
    Rocketbabydolls
  • 전체
    오늘
    어제
    • 전체글 (183) N
      • 프로그래밍 공부 (117)
        • C (16)
        • Jumping into C++ (9)
        • MFC (C++) (1)
        • 자료구조 (1)
        • 알고리즘 (1)
        • 백준 (C++) (74)
        • 핸즈온 머신러닝 2판 (6)
        • Unseen 3기 준비 (4)
        • 원티드 포텐업 게임 개발자 양성과정 2기 (4)
      • 언리얼엔진5 (62) N
        • [Part1] 이득우의 언리얼 프로그래밍 (12)
        • [Part2] 이득우의 언리얼 프로그래밍 (2)
        • [Part2 복습] 이득우의 언리얼 프로그래밍 (3)
        • [Part3] 이득우의 언리얼 프로그래밍 (14)
        • [Part4] 이득우의 언리얼 프로그래밍 (0)
        • FPS 게임 1인 프로젝트 (6)
        • 각종 지식 (10) N
        • 블루프린트 Paper2D 로 게임 만들기 (14)
        • 팀 프로젝트 (1)
      • 일상 (1)
      • ETC (1)
        • 맥북 (1)
  • 블로그 메뉴

    • 링크

    • 공지사항

    • 인기 글

    • 태그

      언리얼엔진
      실전C프로그래밍 실습문제
      실전 C 프로그래밍
      실전C프로그래밍
      실전 C프로그래밍
      언리얼엔진 중재자 패턴
      실전C프로그래밍 나중채
      언리얼엔진5
      핸즈온 머신러닝
      티스토리챌린지
      언리얼엔진 옵저버 패턴
      오블완
      언리얼엔진 디자인 패턴
      c언어
      C언어 실습문제
      c++ 17298
      핸즈온 머신러닝 2판
      언리얼엔진5 fps 프로젝트
      실전 C프로그래밍 나중채
      실전 C프로그래밍 실습문제
    • 최근 댓글

    • 최근 글

    • hELLO· Designed By정상우.v4.10.3
    Rocketbabydolls
    [C++ / 백준 1912번] 연속합
    상단으로

    티스토리툴바