Pagini recente » Cod sursa (job #2117834) | Cod sursa (job #338191) | Cod sursa (job #1478171) | Cod sursa (job #221735) | Cod sursa (job #2437320)
#include <fstream>
using namespace std;
ifstream in ("transport.in");
ofstream out ("transport.out");
int v[16001],s[16001],n,k,i,j,poz,pozt,cont;
void cautbin(int x)
{
poz=0;
for(int msk=1<<30;msk>0;msk/=2)
{
if(poz+msk<=n && s[poz+msk]<=x)
poz+=msk;
}
}
int main()
{
in >> n >> k;
for(i=1; i<=n; i++)
in >> v[i];
for(i=1; i<=n; i++)
{
s[i]=s[i-1]+v[i];
}
for(i=1;i<=16001;i++)
{
pozt=0;
poz=0;
for(j=1;j<=16001;j++)
{
cautbin(i*j);
if(poz==0)
break;
if(pozt!=poz)
cont++;
pozt=poz;
}
if(cont>k)
{
out << i;
return 0;
}
}
return 0;
}