[BOJ] 11055번 가장 큰 증가 부분 수열
문제 바로가기
연관문제1. 가장 긴 증가하는 부분 수열
연관문제2. 가장 긴 감소하는 부분 수열
접근
연관문제 1,2에서 dp의 값을 부분 수열의 최대 길이로 했다면, 이 문제는 부분 수열의 최대 합을 구해주면 된다.
#include <iostream>
#include <algorithm>
using namespace std;
#define MAX 1001
int main() {
std::ios::sync_with_stdio(false);
int N;
int num[MAX] = {0}, dp[MAX] = {0};
cin >> N;
for(int i = 1; i <= N; i++)
cin >> num[i];
for(int i = 1; i <= N; i++)
dp[num[i]] = *max_element(dp, dp + num[i]) + num[i];
cout << *max_element(dp + 1, dp + MAX);
}
Author And Source
이 문제에 관하여([BOJ] 11055번 가장 큰 증가 부분 수열), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@chowisely/BOJ-11055저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)