Pagini recente » Cod sursa (job #2005452) | Cod sursa (job #1080282) | Cod sursa (job #2406902) | Cod sursa (job #3242775) | Cod sursa (job #370585)
Cod sursa(job #370585)
#include<fstream.h>
int n,s,k,i,fin,p,a[16000];
int fct(int x)
{
p=0;
i=1;
s=0;
fin=0;
while(i<=n&!fin)
{
while(s+a[i]<=x&&!fin){s+=a[i];if(i<n)i++;else fin=1;}
p++;s=0;
}
if(p>k)return 0;
else return 1;
}
int main()
{
int x=0,l,r,m;
ifstream f("transport.in");
ofstream g("transport.out");
f>>n>>k;
for(i=1;i<=n;i++){f>>a[i];if(a[i]>x)x=a[i];}
while(!fct(x))x<<=1;
l=(x>>1)+1;r=x;
while(l<r)
{
m=l+((r-l)>>1);
if(!fct(m))l=m;
else r=m;
}
g<<m;
return 0;
}