Pagini recente » Cod sursa (job #321254) | Cod sursa (job #2376607) | Cod sursa (job #3183054) | Cod sursa (job #1037832) | Cod sursa (job #2164563)
#include <iostream>
#include<fstream>
#include<cstdio>
using namespace std;
#define N 100100
int v[N],n,i,k;
long long x,s;
bool check(long long nr)
{
long long x;
x=min(nr,1ll*v[0]);
for(i=1;i<n;++i)
x+=min(nr,1ll*v[i]);
if(x>=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;
}