Pagini recente » Cod sursa (job #1336039) | Cod sursa (job #293857) | Cod sursa (job #2562574) | Cod sursa (job #2023371) | Cod sursa (job #2683044)
#include <fstream>
#include <vector>
#include <algorithm>
using namespace std;
ifstream fin ("grupuri.in");
ofstream fout ("grupuri.out");
vector<long long> a;
long long gr_Max, k, n;
long long sum[100005];
bool verif_gr(long long gr)
{
int poz=upper_bound(a.begin(), a.end(), gr)-a.begin();
long long S=sum[poz-1]+gr*(n-poz);
if(S>=gr*k) return 1;
return 0;
}
int main()
{
fin>>k>>n;
for(int i=0;i<n;i++)
{
int x;
fin>>x;
a.push_back(x);
sum[i]=sum[i-1]+x;
}
gr_Max=sum[n-1]/k;
for(int i=gr_Max; i>=1; i--)
{
if(verif_gr(i))
{
fout<<i;
break;
}
}
return 0;
}