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

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

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

Manipulating the Balance Sheet

返回题目

题解

재무상태표에서는 다음 등식이 성립해야 한다.

자산=부채+자본\text{자산}=\text{부채}+\text{자본}자산=부채+자본

손상되지 않은 자산의 합계를 AAA, 손상되지 않은 부채와 자본의 합계를 BBB라고 하자. 손상된 자산 계정의 수를 cAc_AcA​, 손상된 부채·자본 계정의 수를 cRc_RcR​라 하자.

  • cA>0c_A>0cA​>0이고 cR>0c_R>0cR​>0이면 손상된 금액을 양변에 각각 추가할 수 있어 복구 결과가 유일하지 않다. 복구할 수 없다.
  • 손상된 부채 계정과 자본 계정이 동시에 있으면 새로운 계정의 종류가 유일하지 않다. 복구할 수 없다.
  • 이면 인지 확인한다. 같으면 입력을 그대로 출력하고, 다르면 복구할 수 없다.

계산한 금액이 음수라면 복구할 수 없다. 그렇지 않다면 손상되지 않은 계정을 입력 순서대로 출력하고, 계산한 종류와 금액을 가진 OTHER 계정을 마지막에 출력한다. 금액이 000이어도 출력한다.

계정 하나의 금액은 최대 10910^9109이고 계정 수는 최대 100 000100\,000100000이다. 합계와 복구한 금액의 절댓값은 101410^{14}1014 이하이므로 64비트 정수를 사용한다.

각 계정을 한 번씩 읽고 출력하므로 시간복잡도는 O(N)O(N)O(N), 공간복잡도는 O(N)O(N)O(N)이다.

cA=cR=0c_A=c_R=0
cA​=cR​=0
A=BA=BA=B
  • cA>0c_A>0cA​>0이고 cR=0c_R=0cR​=0이면 새 자산 계정의 금액은 B−AB-AB−A이다.
  • cA=0c_A=0cA​=0이고 cR>0c_R>0cR​>0이면 새 부채 또는 자본 계정의 금액은 A−BA-BA−B이다. 종류는 손상된 계정의 종류와 같다.