| //https://www.acmicpc.net/problem/11568 #include <iostream> | |
| #include <algorithm> | |
| using namespace std; | |
| int dp[1001]; | |
| int num[1001]; | |
| int main(){ | |
| int N; | |
| int mx=1; | |
| cin >> N; | |
| for(int i=1; i<=N; i++) cin >> num[i]; | |
| dp[1]=1; | |
| for(int i=2; i<=N; i++){ | |
| for(int j=i; j>=0; j--){ | |
| if(num[j]<num[i]){ | |
| dp[i]=max(dp[i],dp[j]+1); | |
| } | |
| } | |
| mx=max(mx,dp[i]); | |
| } | |
| cout << mx; | |
| } |
'알고리즘 문제 풀이 > 1DP_과제(~180615)' 카테고리의 다른 글
| 180216_2605_줄 세우기 (0) | 2018.02.16 |
|---|---|
| 180215_10451_순열 사이클 (0) | 2018.02.15 |
| 180213_1563_개근상 (0) | 2018.02.13 |
| 180212_5554_심부름 가는 길 (0) | 2018.02.12 |
| 180210_1057_토너먼트 (0) | 2018.02.10 |