본문 바로가기

성우리뷰

동적계획) 가장긴수열

#include <iostream>
#include <string>
#include <cstdio>
#include <stdlib.h>

using namespace std;

int number[1000];
int answer[1000];

int main(void)
{
int n;
cin >> n;
for (int i = 0; i < n; i++)
{
cin >> number[i];
}

answer[0] = 1;
int ans = 0;
for (int i = 1; i <= n; i++)
{
int qijun = 0;
for(int j=0; j<i ; j++)
if (number[j] < number[i])
{
if (qijun < answer[j])
qijun = answer[j];
}
answer[i] = qijun + 1;
if (ans < answer[i])
ans = answer[i];
}

cout << ans;

return 0;
}