Pagini recente » Cod sursa (job #1545658) | Cod sursa (job #1453859) | Cod sursa (job #1262382) | Cod sursa (job #2510356) | Cod sursa (job #2335636)
#include <fstream>
#define MAX 100001
using namespace std;
int v[MAX];
int main()
{
int k, n, i, suma, st, dr, mij, gasit;
ifstream fin("grupuri.in");
ofstream fout("grupuri.out");
fin >> k >> n;
suma = 0;
for(i = 1; i <= n; i++)
{
fin >> v[i];
suma += v[i];
}
st = 1;
dr = suma;
while(st <= dr)
{
mij = (st + dr) / 2;
suma = 0;
for(i = 1; i <= n; i++)
suma += min(v[i], mij);
if(mij * k <= suma)
{
gasit = mij;
st = mij + 1;
}
else dr = mij - 1;
}
fout << gasit;
fin.close();
fout.close();
return 0;
}