Pagini recente » Cod sursa (job #2737412) | Cod sursa (job #3250354) | Cod sursa (job #1631305) | Cod sursa (job #2940820) | Cod sursa (job #2989357)
#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
typedef long double ld;
ifstream fin("transport.in");
ofstream fout("transport.out");
void pv(vector<int> v) {
for(int i=0;i<int(v.size());i++) {
cout<<v[i]<<' ';
}
cout<<'\n';
}
void solve(){
int n,k;
fin>>n>>k;
vector<int> v(n+1);
for(int i=1;i<=n;i++) {
int x;
fin>>x;
v[i]=v[i-1]+x;
}
int s=1,e=16000,r=-1;
while(s<=e) {
int m=(s+e)/2,c=0;
int t=m,f=-1;
while(f!=n) {
f=upper_bound(v.begin(),v.end(),t)-v.begin()-1;
c++;
t=m+v[f];
}
if(c==k) {
r=m;
e=m-1;
}
else if(c<k) {
e=m-1;
}
else if(c>k) {
s=m+1;
}
}
fout<<r<<'\n';
}
int32_t main(){
ios::sync_with_stdio(0);
cin.tie(0);
int t=1;
//cin>>t;
while(t--){
solve();
}
}