Pagini recente » Cod sursa (job #2978090) | Cod sursa (job #2205928) | Cod sursa (job #1273363) | Cod sursa (job #2885066) | Cod sursa (job #1668745)
#include <iostream>
#include <fstream>
using namespace std;
ifstream f("grupuri.in");
ofstream g("grupuri.out");
int k,n,a[100005]; long long suma=0;
void citire()
{
f>>k>>n;
for(int i=1;i<=n;i++)
{
f>>a[i];suma+=(long long) a[i];
}
}
long long bin()
{
long long st=1,dr=suma,h,s=0,sll=0;
while(st<dr)
{
h=(long long) (st+dr)/2;
s=0;
for(int i=1;i<=n;i++) if(a[i]<h) s+=a[i];else s+=h;
if(s/k>=h) {sll=max(sll,h);st=h+1;} else dr=h;
}
return sll;
}
void solve()
{
g<<bin();
}
int main()
{
citire();
solve();
return 0;
}