Pagini recente » Cod sursa (job #588607) | Borderou de evaluare (job #315091) | Cod sursa (job #1975167) | Cod sursa (job #3226666) | Cod sursa (job #1506998)
#include <fstream>
using namespace std;
int v[16001];
int main()
{
FILE *fin=fopen ("transport.in","r");
FILE *fout=fopen ("transport.out","w");
int n,k,i,maxi,j,st,drm,s;
fscanf (fin,"%d %d",&n,&k);
maxi=0;
for (i=0;i<n;i++){
fscanf (fin,"%d",&v[i]);
if (maxi<v[i]) maxi=v[i];
}
st=0;
while (st==0){
i=0;
drm=0;
while (i<n){
j=i;
s=v[j];
while (j<n && s<maxi){
j++;
s+=v[j];
}
if (s==maxi)
j++;
i=j;
drm++;
}
if (drm>k) maxi++;
else st=1;
}
fprintf (fout,"%d\n",maxi);
return 0;
}