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

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

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

骰子与总和

返回题目

题解

세 수를 정렬한 결과를 x≤y≤zx\leq y\leq zx≤y≤z라 하면, 차이의 합은 (y−x)+(z−x)+(z−y)=2(z−x)(y-x)+(z-x)+(z-y)=2(z-x)(y−x)+(z−x)+(z−y)=2(z−x)이다. 따라서 KKK가 홀수이면 정답은 000이다. K=0K=0K=0이면 세 수가 모두 같아야 하므로 정답은 NNN이다.

나머지 경우에는 d=K/2>0d=K/2>0d=K/2>0이라 하자. d≥Nd\geq Nd≥N이면 가능한 삼중쌍은 없다. d<Nd<Nd<N이면 최솟값 xx는 부터 까지이고 최댓값은 이다. 중간값이 두 끝값과 다르면 개의 선택과 각각 개의 순열이 있다. 중간값이 최솟값 또는 최댓값과 같으면 각각 개의 순열이 있다. 따라서 최솟값 하나당 개이고, 정답은 이다.

서브태스크 1에서는 모든 (a1,a2,a3)(a_1,a_2,a_3)(a1​,a2​,a3​)을 직접 열거한다. 시간복잡도는 O(, 추가 공간복잡도는 이다. 서브태스크 2에서는 위 공식을 사용한다. 시간복잡도와 추가 공간복잡도는 모두 이다.

6d(N−d)≤6⌊N2/4⌋≤1 500 000 000 000 000 0006d(N-d)\leq 6\lfloor N^2/4\rfloor\leq 1\,500\,000\,000\,000\,000\,0006d(N−d)≤6⌊N2/4⌋≤1500000000이다. 정답과 곱셈 중간값은 부호 있는 64비트 정수로 계산할 수 있다. 32비트 정수나 부동소수점으로 곱셈하지 않도록 주의한다.

Solution written by GPT

x
111
N−dN-dN−d
x+dx+dx+d
d−1d-1d−1
666
333
6(d−1)+3+3=6d6(d-1)+3+3=6d6(d−1)+3+3=6d
6d(N−d)6d(N-d)6d(N−d)
N3)O(N^3)
O(N3)
O(1)O(1)O(1)
O(1)O(1)O(1)
000
000
000