Pagini recente » Cod sursa (job #741226) | Cod sursa (job #297422) | Cod sursa (job #2990823) | Cod sursa (job #2393483) | Cod sursa (job #3279307)
#include<iostream>
#include<fstream>
using namespace std;
int n,k,d;
int ok(int v[]){
int c=0,nr=0;
for(int i=0;i<n;i++){
if(c+v[i]<=d){c+=v[i];}
else{c=v[i];nr++;}
}
return (nr+1);
}
int main(){
ifstream in("sport.in");ofstream out("sport.out");
int s=0,m=0,a;in>>n>>k;int v[n];
for(int i=0;i<n;i++){in>>v[i];if(v[i]>m){m=v[i];}s+=v[i];}
while(m<=s){d=(m+s)/2;
if(ok(v)>k){m=d+1;}
else{a=d;s=d-1;}
}out<<a;
in.close();out.close();
return 0;
}