https://atcoder.jp/contests/abc255/tasks/abc255_e
A1=α とおくと、
- A2=S1−A1=S1−α
- A3=S2−A2=S2−S1+α
…
となることがわかる。
T1=0,Tk=∑i=1k−1(−1)i+k+1Sk とおくと、どんな A に対しても、 ある α が存在して Ak=Tk+(−1)k+1α が全ての k に対して成り立つことがわかる。
F(i,α)=∣{k∣Tk+(−1)k+1α=Xi}∣ とする。
これは、 i,α に対して、Xi=Tk+(−1)k+1α となる k を数えていることになる。T,X の条件から F(i,α)=0 となる α は絞り込むことができる。
あとは、i を動かして ∑iF(i,α) の最大値を取れば良い。
https://atcoder.jp/contests/abc255/submissions/32403143