Pagini recente » Cod sursa (job #1107897) | Cod sursa (job #1014108) | Cod sursa (job #1572077) | Cod sursa (job #1698702) | Cod sursa (job #1044842)
#include <iostream>
#include <fstream>
using namespace std;
int a[16001],n,k,sol;
bool valid(int q)
{
int sum=0,l=k;
for(int i=1;i<=n;i++)
{
sum+=a[i];
if(q==sum)
{
sum=0;
l--;
}
else if(q<sum)
{
i--;
sum=0;
l--;
}
if(l==0)
{if(i==n)
return true;
else return false;}
}
return true;
}
void cbinara()
{
int pz=0;
long long t=(1<<28);
for(int i=1;i<=n;i++)
{
if(valid(pz+t)) sol=pz+t;
else pz+=t;
t>>=1;
}
}
int main()
{
ifstream f("transport.in");
ofstream g("transport.out");
f>>n>>k;
for(int i=1;i<=n;i++)
f>>a[i];
cbinara();
g<<sol;
//g.close();
//f.close();
return 0;
}