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

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

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

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이다. 종류는 손상된 계정의 종류와 같다.