//binary search+minimization problem
import java.io.*;
import java.util.*;
class Main {
int n
=Integer.
parseInt(br.
readLine()); int[] arr=new int[n];
for(int i=0;i<n;i++){
arr
[i
]=Integer.
parseInt(br.
readLine()); }
int k
=Integer.
parseInt(br.
readLine()); if(n
<k
) System.
out.
println(-1); else{
for(int i=0;i<n;i++){
high+=arr[i];
low=(arr[i]<low)?arr[i]:low;
}
int mid=(low+high)/2;
int flag=0;
while(low<=high){
int[] students=new int[k];
int i=0,ind=0;
mid=(low+high)/2;
for(i=0,ind=0;i<k;i++){
while(ind<n&&students[i]+arr[ind]<=mid){
students[i]+=arr[ind];
if(students[i]==mid) flag=1;
ind++;
}
}
if(flag==1&&ind==n){
ans=mid;
high=mid-1;
}
else if(flag==1&&ind<n){
low=mid+1;
}
else if(flag==0&&ind==n){
high=mid-1;
}
else if(flag==0&&ind<n){
low=mid+1;
}
else break;
}
}
return;
}
}
Ly9iaW5hcnkgc2VhcmNoK21pbmltaXphdGlvbiBwcm9ibGVtCgppbXBvcnQgamF2YS5pby4qOwppbXBvcnQgamF2YS51dGlsLio7CgpjbGFzcyBNYWluIHsKICAgIHB1YmxpYyBzdGF0aWMgdm9pZCBtYWluKFN0cmluZ1tdIGFyZ3MpdGhyb3dzIElPRXhjZXB0aW9uIHsKICAgICAgICBCdWZmZXJlZFJlYWRlciBicj1uZXcgQnVmZmVyZWRSZWFkZXIobmV3IElucHV0U3RyZWFtUmVhZGVyKFN5c3RlbS5pbikpOwogICAgICAgIGludCBuPUludGVnZXIucGFyc2VJbnQoYnIucmVhZExpbmUoKSk7CiAgICAgICAgaW50W10gYXJyPW5ldyBpbnRbbl07CiAgICAgICAgZm9yKGludCBpPTA7aTxuO2krKyl7CiAgICAgICAgICAgIGFycltpXT1JbnRlZ2VyLnBhcnNlSW50KGJyLnJlYWRMaW5lKCkpOwogICAgICAgIH0KICAgICAgICBpbnQgaz1JbnRlZ2VyLnBhcnNlSW50KGJyLnJlYWRMaW5lKCkpOwogICAgICAgIGlmKG48aykgU3lzdGVtLm91dC5wcmludGxuKC0xKTsKICAgICAgICBlbHNlewogICAgICAgICAgICBpbnQgaGlnaD0wLCBsb3c9SW50ZWdlci5NQVhfVkFMVUU7CiAgICAgICAgICAgIGZvcihpbnQgaT0wO2k8bjtpKyspewogICAgICAgICAgICAgICAgaGlnaCs9YXJyW2ldOwogICAgICAgICAgICAgICAgbG93PShhcnJbaV08bG93KT9hcnJbaV06bG93OwogICAgICAgICAgICB9CiAgICAgICAgICAgIGludCBhbnM9SW50ZWdlci5NQVhfVkFMVUU7CiAgICAgICAgICAgIGludCBtaWQ9KGxvdytoaWdoKS8yOwogICAgICAgICAgICBpbnQgZmxhZz0wOwogICAgICAgICAgICB3aGlsZShsb3c8PWhpZ2gpewogICAgICAgICAgICAgICAgaW50W10gc3R1ZGVudHM9bmV3IGludFtrXTsKICAgICAgICAgICAgICAgIEFycmF5cy5maWxsKHN0dWRlbnRzLDApOwogICAgICAgICAgICAgICAgaW50IGk9MCxpbmQ9MDsKICAgICAgICAgICAgICAgIG1pZD0obG93K2hpZ2gpLzI7CiAgICAgICAgICAgICAgICBmb3IoaT0wLGluZD0wO2k8aztpKyspewogICAgICAgICAgICAgICAgICAgIHdoaWxlKGluZDxuJiZzdHVkZW50c1tpXSthcnJbaW5kXTw9bWlkKXsKICAgICAgICAgICAgICAgICAgICAgICAgc3R1ZGVudHNbaV0rPWFycltpbmRdOwogICAgICAgICAgICAgICAgICAgICAgICBpZihzdHVkZW50c1tpXT09bWlkKSBmbGFnPTE7CiAgICAgICAgICAgICAgICAgICAgICAgIGluZCsrOwogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIGlmKGZsYWc9PTEmJmluZD09bil7CiAgICAgICAgICAgICAgICAgICAgYW5zPW1pZDsKICAgICAgICAgICAgICAgICAgICBoaWdoPW1pZC0xOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgZWxzZSBpZihmbGFnPT0xJiZpbmQ8bil7CiAgICAgICAgICAgICAgICAgICAgbG93PW1pZCsxOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgZWxzZSBpZihmbGFnPT0wJiZpbmQ9PW4pewogICAgICAgICAgICAgICAgICAgIGhpZ2g9bWlkLTE7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICBlbHNlIGlmKGZsYWc9PTAmJmluZDxuKXsKICAgICAgICAgICAgICAgICAgICBsb3c9bWlkKzE7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICBlbHNlIGJyZWFrOwogICAgICAgICAgICB9CiAgICAgICAgICAgIGlmKGFucz09SW50ZWdlci5NQVhfVkFMVUUpIFN5c3RlbS5vdXQucHJpbnRsbigtMSk7CiAgICAgICAgICAgIGVsc2UgU3lzdGVtLm91dC5wcmludGxuKGFucyk7CiAgICAgICAgfQogICAgICAgIHJldHVybjsKICAgIH0KfQ==