7284 : 분할정복 최대
•시간제한: 2.000 S
•메모리제한: 256 MB
•제출: 0
•통과: 0
•만든사람: suakii
문제 설명
분할 정복(Divide and Conquer)을 이용하여 배열의 최댓값을 구하십시오.
배열을 좌우 두 영역으로 균등 분할하고, 각각의 최댓값을 재귀적으로 구한 후 비교합니다.
반복문 없이 분할 정복 재귀로만 구현해야 합니다.
[제약 조건]
• 입력되는 모든 수는 정수입니다.
배열을 좌우 두 영역으로 균등 분할하고, 각각의 최댓값을 재귀적으로 구한 후 비교합니다.
반복문 없이 분할 정복 재귀로만 구현해야 합니다.
[제약 조건]
• 입력되는 모든 수는 정수입니다.
입력 설명
첫째 줄에 배열 크기 $N$이 주어집니다. ($1 \le N \le 100{,}000$)
둘째 줄에 $N$개의 정수가 주어집니다.
둘째 줄에 $N$개의 정수가 주어집니다.
출력 설명
배열을 분할 정복으로 탐색하여 찾은 전체 최댓값을 출력합니다.
입력 예시
COPY
복사되었습니다!
복사되었습니다!
5
3 1 4 1 5
출력 예시
COPY
복사되었습니다!
복사되었습니다!
5
도움
def dc_max(arr, l, r): if l==r: return arr[l]; mid=(l+r)//2; return max(dc_max(arr,l,mid), dc_max(arr,mid+1,r))