Berry Jam - educational codeforces round 78

#map #x

解法

mapを2つ用意する
左から半分見るのと, 右から半分見るの
1が2より何個多いかを引数に, valueをindexとする
1が2より何個多いかで, 同じ数なら, より中心に近いindex
が保存されることになる
できるだけ食べないようにしたいから

map1でkeyがeなら, map2でkeyは-e

ケース

2
8
1 1 2 1 2 2 1 1 1 1 2 2 1 1 1 1
2
1 1 2 1

10
2

editorialの補足

dif = (食べずに残ったjarのうち, strawberryの個数 - blueberryの個数)
と定義している

中心から左右にいくつ食べたか

difr[cur] = i - (n - 1);
i = nのとき, 1
1つ食べたことを意味する

ans = min(ans, n - i + ...)
i = n - 1のとき, n - i = 1
1個食べたことを意味する