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

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

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

Pair of Sequences

返回题目

题解

각 열 kkk를 독립적으로 생각하자.

어떤 두 수열 Pi,PjP_i,P_jPi​,Pj​에 대해 f(Pi,Pj)f(P_i,P_j)f(Pi​,Pj​)는 어떤 열 kkk에서의 값 Pi,k+Pj,kP_{i,k}+P_{j,k}Pi,k​+Pj,k​ 중 최댓값이다. 따라서 열 kkk에서 가능한 가장 큰 합은, 그 열에서 서로 다른 두 수열의 값 중 가장 큰 두 개를 고른 합이다.

각 열마다 가장 큰 값과 두 번째로 큰 값, 그리고 그 값들이 나온 수열 번호를 관리한다. 모든 입력을 읽으면서 각 열의 상위 두 값을 갱신할 수 있다.

입력을 모두 읽은 뒤, 모든 열 kkk에 대해 그 열의 상위 두 값의 합을 확인하고, 가장 큰 합을 만드는 두 수열 번호를 출력하면 된다.

정당성을 보이자. 임의의 두 수열 Pi,PjP_i,P_jPi​,Pj​와 임의의 열 kkk에 대해 Pi,k+Pj,kP_{i,k}+P_{j,k}는 열 에서 서로 다른 두 수열을 골라 만들 수 있는 합이므로, 그 열의 상위 두 값의 합 이하이다. 따라서 어떤 쌍의 값도 우리가 확인한 후보들의 최댓값을 넘을 수 없다. 반대로, 우리가 선택한 열의 상위 두 수열은 실제로 그 합을 만들 수 있으므로 최적값을 달성한다.

시간 복잡도는 O(NM)O(NM)O(NM), 메모리 복잡도는 O(N)O(N)O(N)이다.

Pi,k​+
Pj,k​
kkk
fff