가장 긴 증가하는 부분 수열

BiBi·2021년 1월 14일
0

코딩테스트연습

목록 보기
7/66

#include <stdio.h>

int p[10001];
int dp[10001];

int get_max(int a, int b) {
	return a > b ? a : b;
}

int main() {
	//freopen("input.txt", "rt", stdin);
	int n;
	scanf("%d", &n);
	for (int i = 1; i <= n; i++) {
		dp[i] = 1;
		scanf("%d", &p[i]);
	}
	int m = 0;
	for (int i = 1; i <= n; i++) {
		
		for (int j = 1; j <= i; j++) {
			if (p[i] > p[j]) {
				dp[i] = get_max(dp[i], dp[j] + 1);
			}
		}
		m = get_max(m, dp[i]);
		
	}
	printf("%d", m);

	return 0;
}
profile
Server Network Engineer

0개의 댓글