Pagini recente » Cod sursa (job #579960) | Cod sursa (job #3202780) | Cod sursa (job #3137876) | Cod sursa (job #3242959) | Cod sursa (job #3242189)
#include <fstream>
#define ll long long
using namespace std;
ll k,n,v[100005],suma=0;
bool check(ll grupuri)
{
ll sum=0;
for(int i=1;i<=n;i++)
sum+=min(grupuri,v[i]);
if(sum>=grupuri*k)
return 1;
return 0;
}
ll cautbin(int n,int k)
{
ll st=1,dr=suma,mid,sol;
while(st<=dr)
{
mid=(st+dr)/2;
if(check(mid)==1)
{
sol=mid;
st=mid+1;
}
else
dr=mid-1;
}
return sol;
}
int main()
{
ifstream cin("grupuri.in");
ofstream cout("grupuri.out");
cin>>k>>n;
for(int i=1;i<=n;i++)
{
cin>>v[i];
suma+=v[i];
}
cout<<cautbin(n,k);
return 0;
}