Pagini recente » Cod sursa (job #1866075) | Cod sursa (job #1224873) | Cod sursa (job #2483579) | Cod sursa (job #6413) | Cod sursa (job #3273906)
#include <bits/stdc++.h>
using namespace std;
ifstream fin("grupuri.in");
ofstream fout("grupuri.out");
int n,k;
int v[100003];
inline int cautb(int x)
{
int cnt=0,val=0;
for (int i=n;i>=1;i--)
{
val+=min(x,v[i]);
if (val>=x)
{
cnt++;
val-=x;
}
if (cnt>=k)
return 1;
}
return 0;
}
int main()
{
fin>>k>>n;
for (int i=1;i<=n;i++)
fin>>v[i];
int st=1,dr=1e9,sol=0;
while (st<=dr)
{
int mij=((st+dr)>>1);
if (cautb(mij))
st=mij+1,sol=mij;
else
dr=mij-1;
}
fout<<sol;
return 0;
}