#include "bits/stdc++.h" #include "atcoder/all" using namespace std; using namespace atcoder; using ll=long long; using mint=modint998244353; #define rep3(i,a,b) for(int i=a;i<(b);i++) #define rep2(i,n) rep3(i,0,n) #define overload(a,b,c,d,...) d #define rep(...) overload(__VA_ARGS__,rep3,rep2)(__VA_ARGS__) #define all(x) x.begin(),x.end() template istream&operator>>(istream&is,vector&a){ for(T&x:a)is>>x; return is; } template ostream&operator<<(ostream&os,const vector&a){ os<<'{'; for(const T&x:a)os< void operator++(vector&a,int){ for(T&x:a)x++; } templatebool chmin(T&a,T b){ if(a>b){ a=b; return true; } return false; } templatebool chmax(T&a,T b){ if(a void debug_rec(T a){ cerr<<' '< void debug_rec(T1 a,T2... b){ cerr<<' '< void debug(T1 a,T2... b){ cerr<<"debug"; debug_rec(a,b...); } #else #define debug(...) #endif int main(){ int n,m; cin>>n>>m; priority_queue,vector>,greater>>que; rep(i,m)que.emplace(0,i); rep(i,n){ int a; cin>>a; auto [x,y]=que.top(); que.pop(); x+=a; que.emplace(x,y); } ll ans=0; while(!que.empty()){ auto [x,y]=que.top(); que.pop(); chmax(ans,x); } cout<