[Gold II] 수열과 개구리 - 32294
성능 요약
메모리: 108660 KB, 시간: 1080 ms
분류
그래프 이론, 최단 경로, 데이크스트라
제출 일자
2026년 2월 9일 21:05:16
문제 설명
길이가 n이고 양의 정수로 구성된 수열 a와 b가 있습니다. 두 수열의 인덱스는 1부터 시작합니다.
이 수열 위에 개구리 한 마리가 있습니다. 개구리는 초기에 어떤 정수 위치 1≤x≤n에서 출발하며, 자신의 위치가 수열 밖†이 될 때까지 다음을 반복합니다.
- bx초 동안 기다린 뒤, 위치 x−ax로 이동하거나 위치 x+ax로 이동합니다. 이때 이동한 위치가 x의 새로운 값이 됩니다.
개구리가 시작하는 위치 x에 대해, 개구리의 위치가 수열 밖이 될 수 있는 최초의 시각을 f(x)초라고 정의할 때, 여러분은 f(1),f(2),⋯,f(n)의 값을 모두 구해야 합니다.
† 어떤 위치 x에 대해서, 1≤x≤n이면 수열 안, x<1 또는 x>n이면 수열 밖이라고 부릅니다.
입력
첫 번째 줄에 두 수열의 길이 n이 주어집니다. (1≤n≤2⋅105)
두 번째 줄에 n개의 정수 a1,a2,…,an이 공백으로 구분되어 주어집니다. (1≤ai≤n)
세 번째 줄에 n개의 정수 b1,b2,…,bn이 공백으로 구분되어 주어집니다. (1≤bi≤106)
출력
한 줄에 f(1),f(2),⋯,f(n)의 값을 공백으로 구분하여 순서대로 출력합니다.
문제의 제한에 따라 모든 1≤i≤n에 대해 f(i)가 유한함을 증명할 수 있습니다.