Pagini recente » Cod sursa (job #712410) | Cod sursa (job #258165) | Cod sursa (job #2121283) | Cod sursa (job #999139)
Cod sursa(job #999139)
#include<fstream>
using namespace std;
int K,n,v[100100];
long long sum;
inline bool Posibil(long long nrg)
{
int i;
long long total=nrg*K;
for(i=1;i<=n;i++)
total-=1LL*min(1LL*v[i],nrg);
if(total<=0LL)
return true;
return false;
}
inline long long CautareBinara()
{
long long st,dr,mij,rez=0;
st=1;
dr=sum/(1LL*K);
while(st<=dr)
{
mij=(st+dr)/2;
if(Posibil(mij))
{
rez=mij;
st=mij+1;
}
else
dr=mij-1;
}
return rez;
}
int main()
{
int i;
ifstream fin("grupuri.in");
fin>>K>>n;
for(i=1;i<=n;i++)
{
fin>>v[i];
sum+=1LL*v[i];
}
fin.close();
ofstream fout("grupuri.out");
fout<<CautareBinara()<<"\n";
fout.close();
return 0;
}