Pagini recente » Istoria paginii utilizator/1urskybie4275 | Profil M@2Te4i | Cod sursa (job #1244512) | Cod sursa (job #1011645) | Cod sursa (job #1146069)
#include <fstream>
using namespace std;
ifstream f("grupuri.in");
ofstream g("grupuri.out");
long long K,N,S;
long long Array[100005];
void Read()
{
int i;
f>>K>>N;
for(i=1;i<=N;i++)
f>>Array[i],S+=Array[i];
}
bool Result(long long groups)
{
long long i=N,sum=0;
for(;i>=1;i--)
{
if(Array[i]>=groups)
sum+=groups;
else
sum+=Array[i];
}
if(sum>=groups*K)
return 1;
return 0;
}
void Binary_Search()
{
long long st=1,dr=S/K;
long long sol=0;
while(st<=dr)
{
int mid=(st+dr)/2;
if(Result(mid)==1)
{
sol=mid;
st=mid+1;
}
else
dr=mid-1;
}
g<<sol<<"\n";
}
int main()
{
Read();
Binary_Search();
return 0;
}