Pagini recente » Cod sursa (job #1428866) | Cod sursa (job #430438) | Cod sursa (job #168467) | Cod sursa (job #661857) | Cod sursa (job #477399)
Cod sursa(job #477399)
#include <fstream>
using namespace std;
long long v[1<<17],n,k;
ifstream in("grupuri.in");
ofstream out("grupuri.out");
bool ok(long long x)
{
long long r=0;
for (int i=1;i<=n;i++)
r+=min(v[i],x);
return r>=x*k;
}
long long bs()
{
long long i,step=(long long)1<<36;
for (i=0;step;step>>=1)
if (ok(i+step))
i+=step;
return i;
}
int main()
{
int i;
in>>k>>n;
for (i=1;i<=n;i++)
in>>v[i];
out<<bs()<<"\n";
return 0;
}