Pagini recente » Cod sursa (job #1984669) | Cod sursa (job #1945387) | Cod sursa (job #2917311) | Cod sursa (job #1975760) | Cod sursa (job #1024354)
#include <iostream>
#include <fstream>
#include<math.h>
using namespace std;
ifstream f("grupuri.in");
ofstream g("grupuri.out");
long long n,k,v[1000001],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()
{
int val = 100000000000;
long long int pas=pow(2,30);
for (long long int i = 0; pas != NULL; pas /= 2)
if (i + pas <= val && verifica( i + pas))
i = i + pas;
}
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();
g<<nr;
return 0;
}