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

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

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

ペペロの処分

問題に戻る

解説

初期方向が右ならsi=1s_i=1si​=1、それ以外ならsi=0s_i=0si​=0とする。最終方向の指標cic_ici​も同様に定め、左と右に渡した回数をli,ril_i,r_ili​,ri​とする。方向が交互に変わるのでri−li=si−cir_i-l_i=s_i-c_iri​−li​=si​である。

Pi=∑j≤iAjP_i=\sum_{j\leq i}A_jPi​=∑j≤i​Aj​とし、左のごみ箱に入った本数をとする。各境界での保存則からとなる。境界条件はである。したがって

W=∑i=1NPi−∑i=1Nsi,(N+1)L=W+∑i=1Nci.W=\sum_{i=1}^{N}P_i-\sum_{i=1}^{N}s_i,\qquad (N+1)L=W+\sum_{i=1}^{N}c_i.W=i=1∑N​P

0≤∑ci≤N0\leq\sum c_i\leq N0≤∑ci​≤NよりL=⌈W/(N+1)⌉L=\lceil W/(N+1)\rceilL=⌈W/(Nであり、最終的に右を向く人数はと決まる。

左から順にlil_ili​と、まだ決めていない最終右向きの人数KKKを管理する。K>0,li+si≥1,li+si−(Pi−L)≥1K>0,l_i+s_i\geq1,l_i+s_i-(P_i-L)\geq1K>0ならとしてを1減らし、そうでなければとする。その後と更新する。答えはである。

貪欲法の正当性を示す。Yi=∑j≤icj,Hi=∑j≤isj,Qi=∑j≤iPjY_i=\sum_{j\leq i}c_j,H_i=\sum_{j\leq i}s_j,Q_i=\sum_{j\leq i}P_jYi​=∑j≤i​とすると、非負条件は

Yi≤Ui=iL−Qi−1+Hi+min⁡(0,L−Pi)Y_i\leq U_i=iL-Q_{i-1}+H_i+\min(0,L-P_i)Yi​≤Ui​=iL

となる。PiP_iPi​は単調増加するため、UiU_iUi​は最初に単調増加し、その後単調減少して、最後に必要な最終右向きの人数となる。したがって、その人数を超えずに置ける1を早く置いても、後の上限を破らない。実現可能な最終状態と接頭辞ごとに比較すると、貪欲法が1を置く時点は遅くならず、必要な個数を必ず置ける。すべての出発回数は非負となり、境界条件も満たす。

求めた回数が実行可能であることも示す。操作した人の最後の出発方向は最終方向の逆である。道グラフで最後の出発方向が閉路を作るのは、隣り合う人の最終方向が左、右となる場合だけである。この変化を貪欲法が作る場合、ri=0r_i=0ri​=0またはli+1=0l_{i+1}=0li+1​=となり、少なくとも一方は一度も操作していない。よって操作した人たちの最後の出発方向には閉路がない。

任意の合法な実行は計算した回数を超えない。初めて上限を超えようとする人は、隣から受け取った数が予定以下なので、保存則によりペペロを持っていない。逆に終了時に予定された出発が残れば、残りの出発は各頂点で流入と流出が等しく、ごみ箱へは向かわない。残りの最後の出発をたどると閉路ができ、矛盾する。したがってすべての合法な実行の操作回数が等しく、求めた和が最小値である。

時間・空間計算量はO(N)O(N)O(N)である。64ビット符号付き整数を使う。C=∑AiC=\sum A_iC=∑Ai​とするとli≤iC+i−1l_i\leq iC+i-1lなので、答えは以下である。

Solution written by GPT6.1

−
ci​
LLL
ri−li+1=Pi−Lr_i-l_{i+1}=P_i-Lri​−li+1​=Pi​−L
l1=L,lN+1=0l_1=L,l_{N+1}=0l1​=L,lN+1​=0
i​
−
i=1∑N​si​,(N+
1)L=
W+
i=1∑N​ci​.
+
1)⌉
K=(N+1)L−WK=(N+1)L-WK=(N+1)L−W
,
li​
+
si​≥
1,li​+
si​−
(Pi​−
L)≥
1
ci=1c_i=1ci​=1
KKK
ci=0c_i=0ci​=0
ri=li+si−ci,li+1=ri−(Pi−L)r_i=l_i+s_i-c_i,l_{i+1}=r_i-(P_i-L)ri​=li​+si​−ci​,li+1​=ri​−(Pi​−L)
∑(li+ri)\sum(l_i+r_i)∑(li​+ri​)
cj​
,
Hi​
=
∑j≤i​sj​,Qi​=
∑j≤i​Pj​
−
Qi−1​+
Hi​+
min(0,L−
Pi​)
0
i​
≤
iC+
i−
1
CN(N+1)+N2≤4 000 020 040 000 000 000CN(N+1)+N^2\leq4\,000\,020\,040\,000\,000\,000CN(N+1)+N2≤4000020040000000000