Pagini recente » Cod sursa (job #2511959) | Cod sursa (job #1865802) | Cod sursa (job #184663) | Cod sursa (job #2326108) | Cod sursa (job #1081210)
#include <iostream>
#include <fstream>
using namespace std;
int k,n,a[100001];
bool verif(long long numar)
{
long long suma=0;
for(int i=1;i<=n;++i)
if(a[i]>numar)
suma=suma+numar;
else
suma=suma+a[i];
if(suma>=k*numar)
return 1;
else
return 0;
}
long long caut(long long st,long long dr)
{
long long mij;
while(st<=dr)
{
mij=(st+dr)/2;
if(verif(mij)==1 && verif(mij+1)==0)
return mij;
if(verif(mij)==0)
dr=mij-1;
else
st=mij+1;
}
}
int main()
{
ifstream f("grupuri.in");
ofstream g("grupuri.out");
f>>k>>n;
for(int i=1;i<=n;++i)
f>>a[i];
g<<caut(1,(1<<30));
f.close();
g.close();
return 0;
}