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

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

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

オレンジ!

問題に戻る

解説

サブタスク 1:一人目が購入するオレンジの部分集合をすべて列挙する。要素数が KKK の各集合について満足度を直接計算し、最大値を求める。時間計算量は O(N2N)O(N2^N)O(N2N)、空間計算量は O(N)O(N)O(N) である。

全体の解法:二人目がすべて購入すると、満足度は ∑i=1Nbi\sum_{i=1}^N b_i∑i=1N​bi​ となる。iii 番目を一人目に渡すと、満足度は ai−bia_i-b_iai​−bi​ だけ変化する。

ci=ai−bic_i=a_i-b_ici​=ai​−bi​ とすると、ちょうど 個の差を選び、その総和を最大化すればよい。降順にソートして大きい方から 個を選ぶ。選んでいない値が選んだ値より大きければ、両者を交換することで総和を増やせるため、この選び方は最適である。同じ値の選択順は任意でよい。

ソート後の値を c1≥c2≥⋯≥cNc_1\geq c_2\geq\cdots\geq c_Nc1​≥c2​≥⋯≥c とすると、答えは

∑i=1Nbi+∑i=1Kci\sum_{i=1}^N b_i+\sum_{i=1}^K c_ii=1∑N​bi​+

となる。ちょうど KKK 個を選ぶ必要があるため、選ぶ差が負でも省略してはいけない。

各ケースの時間計算量は O(Nlog⁡N)O(N\log N)O(NlogN)、空間計算量は O(N)O(N)O(N) である。答えと途中の和の絶対値は 2×10142\times10^{14}2×1014 以下、差の絶対値は 以下となる。和には 64 ビット整数を使う。

Solution written by GPT

KK
K
KKK
N
​
i=1
∑
K
​
ci​
109−110^9-1109−1