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

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

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

Nostalgiabait

返回题目

题解

X≥0X \geq 0X≥0인 경우를 먼저 생각하자. X<0X<0X<0인 경우에는 ∣X∣|X|∣X∣에 대한 배치를 만든 뒤 행과 열을 서로 바꾸면 M1M_1M1​과 M2M_2M2​가 서로 바뀌므로 처리할 수 있다.

각 행에는 서로 다른 양의 정수 NNN개가 있으므로 그 행의 최댓값은 적어도 NNN이다. 따라서 M2≥NM_2 \geq NM2​≥N이다. 한편 NNN개의 행 최댓값은 서로 다른 수이므로 그 최솟값은 이하이다. 따라서

N≤M2≤N2−N+1.N \leq M_2 \leq N^2-N+1.N≤M2​≤N2−N+1.

같은 논리로

N≤M1≤N2−N+1.N \leq M_1 \leq N^2-N+1.N≤M1​≤N2−N+1.

따라서 반드시

∣X∣≤(N2−N+1)−N=(N−1)2|X| \leq (N^2-N+1)-N=(N-1)^2∣X∣≤(N2−N+1)−N=(N

이어야 한다.

이제 0≤X≤(N−1)20 \leq X \leq (N-1)^20≤X≤(N−1)2라 하자. K=N2−N+1K=N^2-N+1K=N로 둔다.

먼저

H1,1=K−XH_{1,1}=K-XH1,1​=K−X

로 둔다. 그리고 2≤i≤N2 \leq i \leq N2≤i≤N에 대해

Hi,i=K+i−1H_{i,i}=K+i-1Hi,i​=K+i−1

로 둔다. 즉, 가장 큰 N−1N-1N−1개의 수 K+1,K+2,⋯ ,N2K+1,K+2,\cdots,N^2K+1,K+2,⋯,N를 대각선에 배치한다.

X>0X>0X>0이면 추가로

H2,1=KH_{2,1}=KH2,1​=K

로 둔다. 아직 값이 정해지지 않은 칸은 왼쪽 위부터 오른쪽 아래 순서로 보면서, 아직 사용하지 않은 가장 작은 양의 정수를 넣는다.

X>0X>0X>0일 때 K−X≥NK-X \geq NK−X≥N이다. 따라서 첫째 행의 나머지 N−1N-1N−1칸에는 모두 K−XK-X보다 작은 수가 들어가며, 첫째 행의 최댓값은 이다. 둘째 행부터는 대각선에 둔 값이 그 행의 최댓값이므로

M2=K−X.M_2=K-X.M2​=K−X.

첫째 열에는 KKK가 있고, 나머지 열에는 각각 K+1,K+2,⋯ ,N2K+1,K+2,\cdots,N^2K+1,K+2,⋯,N2 중 하나가 있으므로

M1=K.M_1=K.M1​=K.

따라서 M1−M2=XM_1-M_2=XM1​−M2​=X이다.

X=0X=0X=0이면 H1,1=KH_{1,1}=KH1,1​=K이고, 각 행과 열의 최댓값 중 최솟값이 모두 KKK이므로 역시 조건을 만족한다.

그러므로 가능한 경우는 정확히 ∣X∣≤(N−1)2|X| \leq (N-1)^2∣X∣≤(N−1)2인 경우이다. 각 칸을 한 번씩 채우면 되므로 시간 복잡도는 테스트 케이스 전체에 대해 O(∑N2)O\left(\sum N^2\right)O(∑N이다.

Solution written by GPT5.6

N2−N+1N^2-N+1
N2−N+1
−
1)2
2
−
N+
1
2
K−X
K−XK-XK−X
2
)