Pagini recente » Cod sursa (job #1360363) | Cod sursa (job #1995801) | Cod sursa (job #1724094) | Cod sursa (job #2889443) | Cod sursa (job #1971647)
#include <fstream>
using namespace std;
int N,K,i,Sum,St,Dr,Mij,A[16001],j,S,Nr,Rez;
int main()
{
ifstream fin("transport.in");
ofstream fout("transport.out");
fin>>N>>K;
Sum=0;
for(i=1;i<=N;i++)
{
fin>>A[i];
Sum+=A[i];
}//for i
St=N;
Dr=Sum;
while(St<=Dr)
{
Mij=(St+Dr)/2;
i=1;
Nr=0;
while(i<=N)
{
S=0;
j=i;
Nr++;
while(j<=N and S+A[j]<=Mij)
{
S+=A[j];
j++;
}//while
i=j;
}//while
if(Nr<=K)
{
Dr=Mij-1;
Rez=Mij;
}
else
St=Mij+1;
}//while
fout<<Rez;
fin.close ();
fout.close();
return 0;
}