Pagini recente » Cod sursa (job #2349068) | Cod sursa (job #1605906) | Cod sursa (job #738518) | Cod sursa (job #1470976) | Cod sursa (job #2164558)
#include <iostream>
#include<fstream>
#include<cstdio>
using namespace std;
#define N 100100
int v[N],x,n,i,k;
long long s;
bool check(long long nr)
{
x=min(k,v[0]);
s=x;
for(i=1;i<n;++i)
s+=min(k,v[i]);
if(s>=1ll*nr*k)
return 1;
return 0;
}
int main()
{
ifstream f("grupuri.in");
ofstream g("grupuri.out");
f.sync_with_stdio(false);
g.sync_with_stdio(false);
f>>k>>n;
for(int i=0;i<n;++i)
{
f>>v[i];
s+=v[i];
}
long long i=1;
long long ans=0;
for(;i<=s/k;i<<=1);
for(;i;i>>=1)
{
if(ans+i<=s/k && check(ans+i) )
ans+=i;
}
g<<ans;
return 0;
}