Pagini recente » Cod sursa (job #1462119) | Cod sursa (job #705463) | Cod sursa (job #71836) | Cod sursa (job #2446275) | Cod sursa (job #2979608)
#include <fstream>
using namespace std;ifstream f("transport.in");ofstream c("transport.out");int v[30001];int n,k,i,st,dr,m,x=-1,sum=0,sol=0,s=0,z=0;int main(){f>>n>>k;sum=0;for(i=1;i<=n;i++){f>>v[i];sum+=v[i];if(v[i]>x)x=v[i];}st=x;dr=sum;while(st<=dr){m=(st+dr)/2;s=0;z=0;for(i=1;i<=n;i++)if(s+v[i]<=m)s+=v[i];else{z++;s=v[i];}if(s>0)z++;if(z>k)st=m+1;else{dr=m-1;sol=m;}}c<<sol;}