728x90
LIS 문제에서 부등호 하나만 반대 부등호로 바꿔주면 된다.
#include <iostream>
using namespace std;
int main() {
int n;
cin >> n;
int* numbers = new int[n];
for (int i = 0; i < n; i++) {
cin >> numbers[i];
}
int* lds = new int[n];
int maxLength = 0;
for (int i = 0; i < n; i++) {
int longestLength = 0;
for (int j = 0; j < i; j++) {
if (numbers[i] < numbers[j]) {
if (lds[j] > longestLength)
longestLength = lds[j];
}
}
lds[i] = longestLength + 1;
if (lds[i] > maxLength)
maxLength = lds[i];
}
cout << maxLength;
return 0;
}
728x90
'알고리즘 문제' 카테고리의 다른 글
[백준] 1978번 소수 찾기 (0) | 2020.01.30 |
---|---|
[백준] 4673번 셀프 넘버 (0) | 2020.01.30 |
[백준] 11568번 민균이의 계략 (0) | 2020.01.29 |
[백준] 14501번 퇴사 (0) | 2020.01.29 |
[백준] 1110번 더하기 사이클 (0) | 2020.01.29 |