Pagini recente » Rating Login Razvan (falfaila9) | Cod sursa (job #459599) | Cod sursa (job #159080) | Cod sursa (job #891087) | Cod sursa (job #2207866)
#include <fstream>
using namespace std;
ifstream cin("transport.in");
ofstream cout("transport.out");
int v[16000];
int n,k,i;
bool verificare(int x){
int sum = 0,cnt = 1;
for(i = 0;i < n;i++){
if(x < v[i])
return false;
if(sum + v[i] <= x){
sum+=v[i];
}else{
sum = v[i];
cnt++;
}
}
if(cnt > k)
return false;
return true;
}
int main()
{
cin >> n >> k;
for(i = 0;i < n;i++){
cin >> v[i];
}
int r = 0,pas = 1 << 30;
while(pas){
if(!verificare(r+pas))
r+=pas;
pas/=2;
}
cout << r+1;
return 0;
}