Pagini recente » Cod sursa (job #2661293) | Cod sursa (job #669707) | Cod sursa (job #1104672) | Cod sursa (job #3179065) | Cod sursa (job #2437323)
#include <fstream>
using namespace std;
ifstream in ("transport.in");
ofstream out ("transport.out");
long long 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];
}
i=1;
while(1)
{
pozt=0;
poz=0;
for(j=1;j<=160001;j++)
{
cautbin(i*j);
if(poz==0)
break;
if(pozt!=poz)
cont++;
pozt=poz;
}
if(cont>k)
{
out << i;
return 0;
}
i++;
}
return 0;
}