Pagini recente » Cod sursa (job #3187681) | Cod sursa (job #2594058) | Cod sursa (job #1672410) | Cod sursa (job #2459410) | Cod sursa (job #2793662)
#include <bits/stdc++.h>
using namespace std;
ifstream in("grupuri.in");
ofstream out("grupuri.out");
typedef long long ll;
const ll lim=1e5+4;
ll dp[lim];
ll v[lim];
ll n,k;
bool check(ll ind,ll val)
{
if(dp[ind]+val*(n-ind)>=val*k)
return true;
return false;
}
int main()
{
in>>k>>n;
for(ll i=1;i<=n;++i)
in>>v[i],
dp[i]=dp[i-1]+v[i];
if(check(n,v[n]))
{
/// pot cel putin v[n] grupuri
out<<(dp[n]/k)<<'\n';
return 0;
}
/// pot cel mult v[n] grupuri
for(int t=n-1;t>=1;--t)
for(int i=v[t+1]-1;i>=v[t];--i)
if(check(t,i))
{
out<<i<<'\n';
return 0;
}
return 0;
}