동적 기획의 미사일 차단

1016 단어
a = list(map(int,input().split()))
dp =[1]*len(a)
dp1 =[1]*len(a)
for i in range(1,len(a)):
	for j in range(i):
		if a[j]>a[i]:
			dp[i] = max(dp[j]+1,dp[i])
		else:
			continue
print(max(dp))
zuida=1
for i in range(1,len(a)):
	for j in range(i):
		zuida = max(a[j],zuida)
		if a[i]>zuida:
			dp1[i]= dp1[i-1]+1
		else:
			dp1[i] = dp1[i-1]
print(max(dp1))

[문제 설명]
어떤 나라는 적국의 미사일 공격을 방어하기 위해 미사일 차단 시스템을 개발했다.그러나 이런 미사일 차단 시스템은 결함이 하나 있다.
그것의 첫 번째 포탄은 임의의 고도에 도달할 수 있지만, 이후에는 모든 포탄이 앞의 포탄보다 높아질 수 없다.어느 날, 레이더가 포착했다
적국의 미사일이 내습하다.이 시스템은 아직 시험적으로 사용되고 있기 때문에 한 세트만 있기 때문에 모든 미사일을 차단할 수 없을 수도 있다.
미사일이 순서대로 날아오는 고도(레이더가 제시한 고도 데이터는 30000보다 크지 않은 정수)를 입력하여 이 시스템이 가장 많이 막을 수 있도록 계산한다.
미사일을 얼마나 차단하고, 모든 미사일을 차단하려면 최소한 몇 세트의 미사일 차단 시스템을 갖추어야 한다.
[입력 파일]
미사일이 차례로 날아오는 높이를 단독으로 행렬로 내다.
[출력 파일]
두 줄은 각각 가장 많이 차단할 수 있는 미사일 수이며, 모든 미사일을 최소한 장착해야 하는 시스템 수를 차단해야 한다
[샘플 입력]
389 207 155 300 299 170 158 65
[샘플 내보내기]
6
2
동적 기획 구해

좋은 웹페이지 즐겨찾기