Pagini recente » Istoria paginii runda/vacanta_10_2/clasament | Cod sursa (job #1879899) | Cod sursa (job #1844474) | Istoria paginii runda/info-oltenia | Cod sursa (job #1993217)
#include<fstream>
using namespace std;
int main()
{
ifstream read("transport.in");
ofstream write("transport.out");
int N,K,r=0,temp=0,ok,trans=0,crash=1,mijl;
int c=256000000;
int dreapta=256000000,stanga=0;
read>>N,K;
int v[N+1];
for(int i=1;i<N+1;++i)
{
read>>v[i];
if(v[i]>stanga)
{
stanga==v[i];
}
}
while(stanga<=dreapta)
{
mijl=(stanga+dreapta)/2;
temp=0;
trans=0;
for(int j=1;j<N+1;++j)
{
if(temp+v[j]<=mijl)
{
temp=temp+v[j];
}
else
{
trans=trans+1;
temp=v[j];
}
}
trans=trans+1;
if(trans<=K)
{
dreapta=mijl-1;
ok=mijl;
}
else
{
stanga=mijl+1;
}
}
write<<ok;
}