Pagini recente » Cod sursa (job #1809113) | Cod sursa (job #3155041) | Cod sursa (job #1725668) | Cod sursa (job #3155348) | Cod sursa (job #1993241)
#include<fstream>
using namespace std;
int main()
{
ifstream read("transport.in");
ofstream write("transport.out");
int N,K,r=0,temp=0,ok=-1,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;
write<< stanga << " " << mijl << " " << dreapta << endl;
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;
write << trans << " " << K << endl;
if(trans<=K)
{
dreapta=mijl-1;
ok=mijl;
}
else
{
stanga=mijl+1;
}
}
write<<ok;
}