#include #define rep(i,n) for(int i=0;i> N >> K; vectora(N); rep(i,N)cin >> a[i]; /*if(K==0){ ll s1 = 0,s2=0; rep(i,N){ s1+=abs(a[i]-a[0]); s2+=abs(a[i]-a[N-1]); } cout << min(-s1,-s2) << endl; return 0; }*/ vectorimos(N+1); imos[0]=0; rep(i,N)imos[i+1]=imos[i]+a[i]; ll ans = inf; for(int L=0;L+K-1=0)idx=L; else idx = L + abs(plus-minus-(K-1))/2; ll sum = 0, X = a[idx]; //[0, L)について sum+= -L*X + imos[L]; //[L, idx+1)について sum+= (idx+1-L)*X - (imos[idx+1]-imos[L]); //[idx+1, R)について sum+= -(K-(idx+1-L))*X + (imos[R]-imos[idx+1]); //[R, N)について sum+= (N-R)*X - (imos[N]-imos[R]); ans=min(ans,sum); } cout << ans << endl; return 0; }