DOJ logoDOJ
题目
最近添加的题目收藏的题目Workbooks
分类DLC比赛小组团队讨论区
排名
解题数量排行榜连续解题排名DOJ Power 排行榜
评测状态
征题登录注册
DOJ logoDOJ

支持 OI 子任务计分、Elo 等级分和 Discord 认证的社区在线评测系统。

题目
题目列表分类
社区
比赛排名讨论区公告举办外部比赛指南
账号
登录注册评测状态
政策
服务条款DLC 使用规则隐私政策API 文档语言运行环境比赛排名奖励评级与表现
© 2026 DOJ
保留所有权利
题解

Moving

返回题目

题解

현재 이동 횟수로 도달 가능한 구간의 오른쪽 끝을 eee, 그 구간에서 한 번 더 이동해 도달 가능한 가장 먼 위치를 fff라 하자.

위치를 왼쪽부터 보면서 f=max⁡(f,i+Ai)f=\max(f,i+A_i)f=max(f,i+Ai​)로 갱신한다. i=ei=ei=e에 도달하면 지금까지 계산한 fff가 다음 이동 횟수로 도달 가능한 구간의 끝이 된다. 이 구간이 더 늘어나지 않으면 도달할 수 없다.

각 테스트 케이스의 시간 복잡도는 O(N)O(N)O(N)이다.

Solution written by GPT5