#include<bits/stdc++.h>
using namespace std;
long long N, K, mush[200009];
long long guess(long long X){
long long start = 0, sum = 0, ans = 0,temp = 0;
for(long long i = 0; i < N; i++){
sum+=mush[i];
if(sum > X){
for(start = start; sum > X && start<=i; start++){
sum-=mush[start];
temp+=1;
}
}
ans+=temp;
}
return ans;
}
int main(){
cin>>N>>K;
long long high = 0;
for(long long i = 0; i < N;i++){
cin>>mush[i];
high+=mush[i];
}
long long low = 0;
while(low != high){
long long b = (low+high)/2;
long long a = guess(b);
if(a >= K ){
low = b+1;
} else {
high = b;
}
}
cout<<high<<endl;
}
I2luY2x1ZGU8Yml0cy9zdGRjKysuaD4KdXNpbmcgbmFtZXNwYWNlIHN0ZDsKCmxvbmcgbG9uZyBOLCBLLCBtdXNoWzIwMDAwOV07Cgpsb25nIGxvbmcgZ3Vlc3MobG9uZyBsb25nIFgpewoJbG9uZyBsb25nIHN0YXJ0ID0gMCwgc3VtID0gMCwgYW5zID0gMCx0ZW1wID0gMDsKCWZvcihsb25nIGxvbmcgaSA9IDA7IGkgPCBOOyBpKyspewoJCXN1bSs9bXVzaFtpXTsKCQlpZihzdW0gPiBYKXsKCQlmb3Ioc3RhcnQgPSBzdGFydDsgc3VtID4gWCAmJiBzdGFydDw9aTsgc3RhcnQrKyl7CgkJc3VtLT1tdXNoW3N0YXJ0XTsKCQl0ZW1wKz0xOwoJCX0JCgkJfQoJCWFucys9dGVtcDsKCX0KCQoJcmV0dXJuIGFuczsKCQp9CgppbnQgbWFpbigpewoJY2luPj5OPj5LOwoJbG9uZyBsb25nIGhpZ2ggPSAwOwoJZm9yKGxvbmcgbG9uZyBpID0gMDsgaSA8IE47aSsrKXsKCQljaW4+Pm11c2hbaV07CgkJaGlnaCs9bXVzaFtpXTsKCX0KCWxvbmcgbG9uZyBsb3cgPSAwOwoJd2hpbGUobG93ICE9IGhpZ2gpewoJCWxvbmcgbG9uZyBiID0gKGxvdytoaWdoKS8yOwoJCWxvbmcgbG9uZyBhID0gZ3Vlc3MoYik7CgkJaWYoYSA+PSBLICl7CgkJCWxvdyA9IGIrMTsKCQl9IGVsc2UgewoJCQloaWdoID0gYjsKCQl9Cgl9Cgljb3V0PDxoaWdoPDxlbmRsOwp9