Pagini recente » Cod sursa (job #1036969) | Cod sursa (job #162272) | Cod sursa (job #2529627) | Cod sursa (job #1494098) | Cod sursa (job #1695114)
#include <fstream>
using namespace std;
ifstream f("grupuri.in");
ofstream g("grupuri.out");
int k,n,i,v[100002];
long long s,c1,c2,sol,mij;
bool ok(long long x)
{
int i;
long long t = 0;
for(i = 1;i <= n; ++i)
{
if(v[i] > x)
t += x;
else
t += v[i];
}
if(x * k <= t)
return 1;
return 0;
}
int main()
{
f >> k >> n;
for(i = 1; i <= n; ++i)
{
f >> v[i];
s += v[i];
}
c1 = 1;
c2 = s / k;
while(c1 <= c2)
{
mij = (c1 + c2) / 2;
if(ok(mij))
{
sol = mij;
c1 = mij + 1;
}
else
c2 = mij - 1;
}
g << sol << '\n';
return 0;
}