Pagini recente » Cod sursa (job #1863602) | Cod sursa (job #1141748) | Cod sursa (job #149947) | Cod sursa (job #1749421) | Cod sursa (job #316285)
Cod sursa(job #316285)
#include<cstdio>
using namespace std;
#define IN "grupuri.in","r",stdin
#define OUT "grupuri.out","w",stdout
int N , K ;
int A[100020];
bool ok = false;
int verifica(int x)
{
int sum = 0;
for(int i = 1 ; i <= N ; ++i)
if(A[i] > x) sum += x;
else sum += A[i];
if(sum >= x * K) return 1;
else return 0;
}
int main()
{
freopen(IN);
freopen(OUT);
scanf("%d%d",&K,&N);
for(int i = 1 ; i <= N ; ++i) scanf("%d",&A[i]);
int st = 1 , dr = 2000000 , m;
while(st <= dr)
{
m = (st + dr) / 2;
if(verifica(m) == 1) st = m + 1;
else dr = m - 1;
}
printf("%d\n",dr);
return 0;
}