Pagini recente » Cod sursa (job #850761) | Cod sursa (job #1902732) | Cod sursa (job #271987) | Cod sursa (job #2664467) | Cod sursa (job #1515160)
#include <fstream>
using namespace std;
ifstream in("transport.in");
ofstream out("transport.out");
int n,a[16001],k;
bool verificare(int k,int s)
{
int i=0,sum;
while(k>0 && i<=n)
{
sum=0;
while(sum<s && i<n)
{
i++;
sum+=a[i];
}
if(sum>s) i--;
k--;
}
if(i<n) return 0;
else return 1;
}
int binary_search(int val)
{
int i,step;
for(step=1;step<=n;step<<=1);
for(i=1;step;step>>=1)
if(i+step<n && a[i+step]<=val) i+=step;
return i;
}
int main()
{
int i,max=0;
in>>n>>k;
for(i=1;i<=n;i++)
{
in>>a[i];
if(a[i]>max) max=a[i];
}
while(verificare(k,max)==0)
{
max++;
}
out<<max;
in.close();
out.close();
return 0;
}