Pagini recente » Cod sursa (job #499575) | Cod sursa (job #2322729) | Cod sursa (job #1408294) | Cod sursa (job #1618633) | Cod sursa (job #2074378)
#include <fstream>
using namespace std;
ifstream in("transport.in");
ofstream out("transport.out");
int v[100005],k,maxim=-1,n;
int verif(int x)
{
int i,d=0,s=0;
for(i=1; i<=n; i++)
{
s+=v[i];
if(s+v[i+1]>x)
{
d++;
s=0;
}
}
return d+1;
}
void cautbin()
{
int r=0,pas=1<<28;
while(pas)
{
if(pas+r<maxim||verif(r+pas)>k)
r+=pas;
pas/=2;
}
out<<r+1;
}
int main()
{
int i;
in>>n>>k;
for(i=1; i<=n; i++)
{
in>>v[i];
maxim=max(maxim,v[i]);
}
cautbin();
return 0;
}