DOJ logoDOJ
問題
最近追加された問題保存した問題Workbooks
カテゴリDLCコンテストグループチーム掲示板
ランキング
正解数ランキングストリークランキングDOJ Powerランキング
提出状況
問題募集ログイン新規登録
DOJ logoDOJ

OI形式のサブタスク採点、Eloレーティング、Discord連携を備えたオンラインジャッジです。

問題
問題一覧カテゴリ
コミュニティ
コンテストランキング掲示板お知らせ外部のコンテストを開催するガイド
アカウント
ログイン新規登録ジャッジ状態
ポリシー
利用規約DLCの利用規則プライバシーAPI 文書言語ランタイムコンテストの順位報酬レーティングとパフォーマンス
© 2026 DOJ
All rights reserved
解説

Nostalgia

問題に戻る

解説

어떤 배치에서 X=MX=MX=M을 만들 수 있다면 행렬을 전치하여 X=−MX=-MX=−M도 만들 수 있다. 따라서 X≥0X\geq0X≥0만 생각하면 된다.

열 최댓값의 합을 최대화하면 N2−N+1,⋯ ,N2N^2-N+1,\cdots,N^2N2−N+1,⋯,N2를 각 열의 최댓값으로 둘 수 있다. 한편 행 최댓값을 오름차순으로 M1<⋯<MNM_1<\cdots<M_N이라 하면 앞의 개 행에 개의 원소가 들어가므로 이다. 이로부터 가능한 절댓값의 최댓값은

L=N(N−1)22L=\frac{N(N-1)^2}{2}L=2N(N−1)2​

임을 얻고, 실제로 행 우선으로 1,2,⋯ ,N21,2,\cdots,N^21,2,⋯,N2를 배치하면 X=LX=LX=L을 달성한다.

0≤X≤(N−1)20\leq X\leq (N-1)^20≤X≤(N−1)2에서는 큰 수 N2−N+1,⋯ ,N2N^2-N+1,\cdots,N^2N를 대각선에 둔 구성에서 첫 행의 최댓값만 로 낮추고, 빠진 큰 수를 첫 열의 다른 위치로 옮기면 정확히 를 만들 수 있다.

그보다 큰 XXX에서는 최대 구성에서 시작한다. 마지막 행의 큰 수들은 그대로 두어 열 최댓값의 합을 고정하고, 앞 N−1N-1N−1개 행의 최댓값을 뒤쪽 행부터 가능한 만큼 하나씩 키워 L−XL-XL−X만큼 행 최댓값 합을 증가시킨다. 각 목표 행 최댓값 MiM_iM는 와 엄격한 증가 조건을 만족하며, 남은 작은 수를 각 행에 채워 실제 배치를 만들 수 있다.

음수 XXX는 완성된 행렬을 전치한다. 구성 자체는 O(N2)O(N^2)O(N2)에 가능하다. Solution written by GPT5.6

M1​<
⋯<
MN​
iii
NiNiNi
Mi≥NiM_i\geq NiMi​≥Ni
2
−
N+
1,⋯,N2
X=0X=0X=0
N2−N+1−XN^2-N+1-XN2−N+1−X
XXX
i
​
Mi≥NiM_i\geq NiMi​≥Ni