본문 바로가기
백준 알고리즘/다이나믹 프로그래밍

백준 1965번 C++

by paysmile 2019. 2. 13.


#include <iostream>

#include <algorithm>


using namespace std;


const int MAX = 1001;

int n;

int arr[MAX];

int lisnum[MAX];


int LIS() {

int maxnum = -1;

for (int i = 0; i < n; i++) {

lisnum[i] = 1;

for (int j = 0; j < i; j++) {

if (arr[i] > arr[j] && lisnum[i] < lisnum[j] + 1)

lisnum[i] = lisnum[j] + 1;

}

maxnum = max(maxnum, lisnum[i]);

}

return maxnum;

}

int main(void) {

cin >> n;

for (int i = 0; i < n; i++) {

cin >> arr[i];

}

cout << LIS();

return 0;

}

'백준 알고리즘 > 다이나믹 프로그래밍' 카테고리의 다른 글

백준 1309번 C++  (0) 2019.02.13
백준 11054번 C++  (0) 2019.02.13
백준 1520번 C++  (0) 2019.01.23
백준 11722번 C++  (0) 2019.01.23
백준 11051번 C++  (0) 2019.01.21