728x90
반응형
https://www.acmicpc.net/problem/11055
dp는 수열 a와 같이 초기화해준다
전의 수열 값과 비교하면서 자신의 값보다 작으면 그 값의 dp값에 자신의 값을 더한 것과 자신의 dp값을 비교해 더 큰 값을 넣어주면 된다
#include <bits/stdc++.h>
using namespace std;
int n;
int dp[1001] = {0}, a[1001] ={0};
int main(void) {
cin >> n;
for(int i=1; i<=n; i++){
cin >> a[i];
dp[i] = a[i];
}
for(int i=2; i<=n; i++){
for(int j=1; j<i; j++){
if(a[i]>a[j])
dp[i] = max(dp[i], dp[j]+a[i]);
}
}
int result = 0;
for(int i=1; i<=n; i++)
result = max(result, dp[i]);
cout << result << endl;
return 0;
}
반응형
728x90
반응형
'알고리즘' 카테고리의 다른 글
[백준/DFS/C++] 4963번 섬의 개수 (0) | 2022.12.30 |
---|---|
[백준/구현/C++] 2331번 반복수열 (0) | 2022.12.29 |
[백준/ DFS&BFS/ C++] 10451번 순열 사이클 (0) | 2022.12.29 |
[백준/ DFS&BFS/ C++] 11724번 연결 요소의 개수 (0) | 2022.12.29 |
[백준/ DFS&BFS/ C++] 1260번 DFS와 BFS (0) | 2022.12.28 |