Cod sursa(job #314170)

Utilizator zloteanu.adrianzloteanu adrian nichita zloteanu.adrian Data 10 mai 2009 19:21:11
Problema Transport Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.66 kb
#include<fstream.h>
int main()
{int cs=0,max=0,i,in,n,k,v[16001];
long long v2[256000000];
ifstream q("transport.in");
ofstream w("transport.out");
q>>n>>k;
int s=0,nd=k+1;
for(i=1;i<=n;i++)
 {q>>v[i];
 if(max<v[i])
    max=v[i];
    s=s+v[i];}
i=0;
while(max<=s)
 {i++;
 v2[i]=max;
 cs++;
 max++;}
s=cs*2;
int nc,pos=0;
while(pos==0)
 {s=s/2;
 in=0;
 if(s%2==0)
 nc=v2[s/2];
 else
 nc=v2[s/2+1];
 nd=0;
 for(i=1;i<=n;i++)
    if(in+v[i]<=nc)
     in=in+v[i];
    else
     {nd++;
     in=0;
     i--;}
 if(nd>=k)
    for(i=1;i<=s/2;i++)
     v2[i]=v2[s/2+i];
    if(s==1)
    pos=1;}
if(nd+1<=k)
w<<v2[1];
else
w<<v2[1]+1;
return 0;}