Pagini recente » Cod sursa (job #2104349) | Cod sursa (job #1468290) | Cod sursa (job #2576204) | Cod sursa (job #2925584) | Cod sursa (job #2452962)
#include <fstream>
using namespace std;
ifstream fin("grupuri.in");
ofstream fout("grupuri.out");
int v[100005], n, k;
int main()
{
fin>>k>>n;
long long st=1, dr=0, last=st;
for(int i=1;i<=n;++i) fin>>v[i], dr+=v[i];
while(st<=dr)
{
int mid=(st+dr)/2;
long long sum=0;
for(int i=1;i<=n;++i) sum+=min(v[i], mid);
if(sum<1LL*mid*k) dr=mid-1;
else last=mid, st=mid+1;
//fout<<mid<<" "<<sum<<" "<<mid*k<<" "<<(sum<mid*k)<<" "<<last<<"\n";
}
fout<<last<<"\n";
return 0;
}