소스코드
#include <stdio.h>
#include <string.h>
#define MAX(a,b) (((a)>(b))? (a):(b))
int main(void)
{
int n;
scanf("%d",&n);
int arr[1010]={0,};
int dp[1010]={1,1,0,};
int dp_max=1;
for (int i=0; i<n+1; i++)
{
dp[i]=1;
}
for (int i=1; i<n+1; i++)
{
scanf("%d",&arr[i]);
}
for (int i=2; i<n+1; i++)
{
if (i==2 && (arr[i]>arr[i-1]))
{
dp[i]=2;
}
else
{
for (int j = 1; j<i; j++)
{
if (arr[i]>arr[j])
{
dp[i]=MAX(dp[i],dp[j]+1);
}
}
}
}
for (int i=1; i<n+1; i++)
{
printf("%d ",dp[i]);
}
// for (int i=2; i<n+1; i++)
// {
// if (dp[i]>=dp[i-1])
// {
// dp_max=MAX(dp_max,dp[i]);
// }
// }
//
// printf("%d",dp_max);
return 0;
}
'C C++ > C C++ 백준' 카테고리의 다른 글
C언어 백준 11722번 가장 긴 감소하는 부분 수열 (0) | 2022.06.25 |
---|---|
C언어 백준 11055번 가장 큰 증가 부분 수열 (0) | 2022.06.25 |
C언어 백준 2156번 두 수 비교하기 (0) | 2022.06.25 |
C언어 백준 9465번 스티커 (0) | 2022.06.10 |
C언어 백준 2193번 이친수 (0) | 2022.06.10 |
댓글