Pagini recente » Cod sursa (job #2284904) | Borderou de evaluare (job #2091569) | Cod sursa (job #316579) | Cod sursa (job #1988256) | Cod sursa (job #2989204)
#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
typedef long double ld;
ifstream fin("transport.in");
ofstream fout("transport.out");
void solve(){
int n,k;
fin>>n>>k;
vector<int> v(n);
for(int i=0;i<n;i++) {
fin>>v[i];
}
int s=1,e=16000,r=-1;
while(s<=e) {
int m=(s+e)/2,c=1;
int t=m;
for(int i=0;i<n;i++) {
cout<<"t: "<<t<<'\n';
t-=v[i];
if(t==0) {
c++;
t=m;
}
else if(t<0) {
c++;
t=m;
i--;
continue;
}
}
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();
}
}