Pagini recente » Cod sursa (job #3234470) | Cod sursa (job #318286) | Cod sursa (job #325509) | Cod sursa (job #365010) | Cod sursa (job #1024141)
#include <iostream>
#include <fstream>
using namespace std;
ifstream f("grupuri.in");
ofstream g("grupuri.out");
long long n,k,v[1000],nr=0;
int verifica(long long x)
{
int i,s=0;
for(i=1;i<=n;i++)
{
if(v[i]>x)
s=s+x;
else
s=s+v[i];
}
if(s<x*k)
return 0;
else
{
if(nr<x)
nr=x;
return 1;
}
}
void binary(long long st,long long dr)
{
if(st>dr)
return ;
long long med=(st+dr)/2;
if(verifica(med))
binary(med+1,dr);
else
binary (st,med-1);
}
int main()
{
f>>k>>n;
long long i,min,max;
f>>v[1];
min=max=v[1];
for(i=2;i<=n;i++)
f>>v[i];
binary(1,1000000);
g<<nr;
return 0;
}