// #include // Temp fix for gcc13 global pragma // #pragma GCC target("avx2,bmi2,popcnt,lzcnt") // #pragma GCC optimize("O3,unroll-loops") #include // #include using namespace std; #if __cplusplus >= 202002L using namespace numbers; #endif #ifdef LOCAL #include "Debug.h" #else #define debug_endl() 42 #define debug(...) 42 #define debug2(...) 42 #define debugbin(...) 42 #endif int main(){ cin.tie(0)->sync_with_stdio(0); cin.exceptions(ios::badbit | ios::failbit); int n, k; cin >> n >> k; vector pref(n + 1); for(auto i = 0; i < n; ++ i){ cin >> pref[i + 1]; pref[i + 1] += pref[i]; } multiset> s; long long sum = 0; for(auto i = 1; i < k; ++ i){ s.insert(pref[i]); sum += pref[i]; } long long res = numeric_limits::min() / 2; for(auto i = k; i <= n; ++ i){ res = max(res, pref[i] * k - sum); s.insert(pref[i]); sum += pref[i] - *s.begin(); s.erase(s.begin()); } cout << res << "\n"; return 0; } /* */