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

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

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

Even Roasting

返回题目

题解

N=1N=1N=1이면 왼쪽에서 화력 111로 한 번 가열한다.

N≥2N \geq 2N≥2이면 왼쪽과 오른쪽에서 각각 화력 N−1N-1N−1로 한 번씩 가열한다. 왼쪽에서 iii번째 고기는 첫 작업으로 N−iN-iN−i만큼, 두 번째 작업으로 i−1i-1i−1만큼 증가하므로, 최종 굽기 정도는 모두 N−1N-1N−1이 된다.

따라서 N=1N=1N=1이면 작업 횟수 111과 작업 (1,1)(1,1)(1,1)을 출력한다. 그 외에는 작업 횟수 222와 작업 (1,N−1)(1,N-1)(, 을 출력한다. 한 테스트 케이스의 시간 복잡도와 공간 복잡도는 모두 이다.

증명

작업을 한 번도 하지 않으면 모든 고기의 굽기 정도가 000이다. 최종 굽기 정도는 양수여야 하므로, 항상 한 번 이상의 작업이 필요하다.

N=1N=1N=1이면 화력 111인 작업 한 번으로 유일한 고기의 굽기 정도를 111로 만들 수 있다. 따라서 최소 작업 횟수는 111이다.

이제 라고 하자. 작업을 한 번만 수행하면, 선택한 쪽의 첫 번째 고기와 두 번째 고기의 굽기 정도는 각각 와 이 된다. 이므로 두 값은 서로 다르다. 따라서 한 번의 작업으로 모든 고기의 굽기 정도를 같게 만들 수 없으며, 최소 두 번의 작업이 필요하다.

서브태스크 1에서는 항상 N=1N=1N=1이므로 작업 (1,1)(1,1)(1,1) 하나를 출력하면 된다. 시간 복잡도와 공간 복잡도는 모두 O(1)O(1)O(1)이다.

서브태스크 2에서는 완전 탐색도 가능하다. 각 작업의 방향과 111 이상 NN 이하의 화력을 모두 시도하되, 작업 한 개로 이루어진 후보들을 먼저 확인하고, 없으면 작업 두 개로 이루어진 후보들을 확인한다. 각 후보에 대해 모든 고기의 최종 굽기 정도를 하나씩 계산하여 첫 고기의 값과 같은 양수인지 검사한다. 위에서 제시한 최적해의 화력은 항상 이하이고 작업 횟수는 두 번 이하이므로, 이 탐색 범위 안에 최적해가 존재한다. 시간 복잡도는 이고 공간 복잡도는 이다.

1
,
N
−
1)
(2,N−1)(2,N-1)(2,N−1)
O(1)O(1)O(1)
N≥2N \geq 2
N≥2
PPP
max⁡(0,P−1)\max(0,P-1)max(0,P−1)
P≥1P \geq 1P≥1

왼쪽에서 화력 N−1N-1N−1로 가열하면 iii번째 고기의 굽기 정도는 max⁡(0,N−i)=N−i\max(0,N-i)=N-imax(0,N−i)=N−i만큼 증가한다. 오른쪽에서 같은 화력으로 가열하면 이 고기는 오른쪽에서 N−i+1N-i+1N−i+1번째이므로 max⁡(0,i−1)=i−1\max(0,i-1)=i-1max(0,i−1)=i−1만큼 증가한다. 두 작업을 마친 뒤의 굽기 정도는 (N−i)+(i−1)=N−1(N-i)+(i-1)=N-1(N−i)+(i−1)=N−1이다.

이는 위치와 무관하고 N≥2N \geq 2N≥2이므로 양수이다. 또한 화력 N−1N-1N−1은 허용 범위 안에 있다. 두 번의 작업으로 조건을 만족하며 최소 두 번이 필요하므로, 이 구성이 최적이다.

N
NNN
O(N3)O(N^3)O(N3)
O(1)O(1)O(1)

전체 조건에서는 위의 직접 구성을 사용한다.

Solution written by GPT6