Pagini recente » Cod sursa (job #2037371) | Cod sursa (job #2255385) | Cod sursa (job #2815032) | Cod sursa (job #3263128) | Cod sursa (job #1074345)
#include <iostream>
#include <fstream>
using namespace std;
ifstream f ("grupuri.in");
ofstream g ("grupuri.out");
#define nmax 100000000000
#define maxn 100001
long long n,k,v[maxn],i;
int check (long long x)
{
long long s=0;
for (long i=0;i<x;i++)
if(v[i]>x)
s+=x;
else
s+=v[i];
if(s<x*k)
return 0;
return 1;
}
int main()
{
f>>k>>n;
for (long i=0;i<n;i++)
f>>v[i];
long long step=1<<25,i;
for (i=0;step;step/=2)
if(i+step<nmax && check(i+step)==1)
i+=step;
g<<i<<'\n';
f.close();
g.close();
return 0;
}