Pagini recente » Cod sursa (job #571447) | Cod sursa (job #2487855) | Cod sursa (job #583724) | Cod sursa (job #1631475) | Cod sursa (job #3236265)
#include <fstream>
using namespace std;
ifstream cin("grupuri.in");
ofstream cout("grupuri.out");
long long int n,k;
long long int v[100005];
bool verif(long long int grupe)
{
long long int s=0;
for(int i=0; i<n; i++)
s+=min(grupe,v[i]);
if(s>=k*grupe)
return 1;
else
return 0;
}
void cautbin()
{
long long int sol=0, st=0, dr=100000000000;
while(st<=dr)
{
long long int mid=(st+dr)/2;
//cout<<mid<<'\n';
if(verif(mid))
{
st=mid+1;
sol=mid;
}
else
dr=mid-1;
}
cout<<sol;
}
int main()
{
cin>>k>>n;
for(int i=0; i<n; i++)
cin>>v[i];
cautbin();
long long int s=0;
for(int i=0; i<n; i++)
s+=min((long long)4,v[i]);
// cout<<'\n'<<s;
return 0;
}