Pagini recente » Cod sursa (job #2210998) | Cod sursa (job #2701991) | Cod sursa (job #391434) | Cod sursa (job #1816998) | Cod sursa (job #1047399)
#include <iostream>
#include <cstdio>
FILE *f,*g;
bool cbin(long A[100000], long N, long K, long long k)
{
int i;
long long p = 0;
for(i=1 ; i<=N ; i++)
{
if(A[i] > k)
p += k;
else
p += A[i];
}
if(p < k * K)
return false;
return true;
}
using namespace std;
int main(){
f=fopen("grupuri.in","r");
g=fopen("grupuri.out","w");
long K,N,A[100000];
fscanf(f,"%ld%ld",&K,&N);
for(long i=1;i<=N;i++)
{
fscanf(f,"%ld",&A[i]);
}
long long numar = 1 << 20;
long long k = 0;
while(numar)
{
if(cbin(A,N,K,k+numar) == true)
{
k += numar;
}
numar /= 2;
}
fprintf(g,"%lld",k);
fclose(f);
fclose(g);
return 0;
}