Pagini recente » Istoria paginii runda/26_februarie_simulare_oji_2024_clasa_10/clasament | Autentificare | Cod sursa (job #2966943) | Cod sursa (job #2072056) | Cod sursa (job #2743089)
#include <fstream>
using namespace std;
int capacitate_min,n,k,mij,val;
int v[16009];
bool verif(int x,int nr_trans)
{
int i=1;
while(nr_trans!=0 && i<=n)
{
int sum=0;
while(sum<=x && i<=n)
{
sum+=v[i];
i++;
}
nr_trans--;
if(sum>x)
{
i--;
sum-=v[i];
}
}
if(i==n+1)
return 1;
else
return 0;
}
void caut_binar_capacitate(int st,int dr)
{
if(st<=dr)
{
mij=(st+dr)/2;
if(verif(mij,k))
{
val=mij;
caut_binar_capacitate(st,mij-1);
}
else
caut_binar_capacitate(mij+1,dr);
}
}
int main()
{
ifstream fin("transport.in");
ofstream fout("transport.out");
fin>>n>>k;
int i;
for(i=1; i<=n; i++)
{
fin>>v[i];
}
caut_binar_capacitate(1,300000);
fout<<val;
return 0;
}