Pagini recente » Cod sursa (job #1196230) | Cod sursa (job #1102999) | Cod sursa (job #3248673) | Cod sursa (job #68284) | Cod sursa (job #1074334)
#include <iostream>
#include <fstream>
using namespace std;
ifstream f ("grupuri.in");
ofstream g ("grupuri.out");
#define nmax 100000000000
#define maxn 100000
int n,k,v[maxn],i;
int check (long long x)
{
int i;
long long s=0;
for (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 (i=0;i<n;i++)
f>>v[i];
long long step=1<<30;
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;
}