Pagini recente » Cod sursa (job #2565143) | Cod sursa (job #497678) | Cod sursa (job #41928) | Cod sursa (job #450956) | Cod sursa (job #1864188)
#include <bits/stdc++.h>
#define NMAX 16005
#define ll long long
#define INF 0x3f3f3f3f
using namespace std;
typedef pair<int, int> pii;
ifstream fin("transport.in");
ofstream fout("transport.out");
int v[NMAX],k,n;
bool check(int mid) {
int i,act=0,nr=1;
for(i=1;i<=n;++i) {
if(act+v[i]>mid) {
++nr;
act=0;
if(nr>k) return 0;
}
act+=v[i];
}
return 1;
}
int main() {
int i,st,dr,mid,last;
fin>>n>>k;
for(i=1;i<=n;++i) fin>>v[i];
st=1;dr=NMAX*NMAX;
while(st<=dr) {
mid=(st+dr)/2;
if(check(mid)) {
dr=mid-1;
last=mid;
}
else st=mid+1;
}
fout<<last;
return 0;
}