Pagini recente » Cod sursa (job #2893447) | Cod sursa (job #2164676) | Cod sursa (job #2037084) | Cod sursa (job #2066843) | Cod sursa (job #1704025)
#include<fstream>
using namespace std;
ifstream f("grupuri.in");
ofstream g("grupuri.out");
int k,n,a[100005];
long long sum;
bool cond(int m)
{
int i;
long long s=0;
for(i=1;i<=n;i++)
s+=min(a[i],m);
if(s>=m*1LL*k)
return 1;
return 0;
}
int BinarySearch(int st,int dr)
{
int mij,sol;
sol=-1;
while(st<=dr)
{
mij=st+(dr-st)/2;
if(cond(mij))
{
sol=mij;
st=mij+1;
}
else
dr=mij-1;
}
return sol;
}
int main()
{
int i,x;
f>>k>>n;
for(i=1;i<=n;i++)
{
f>>a[i];
sum+=a[i];
}
sum/=k;
x=BinarySearch(0,sum);
g<<x;
return 0;
}