Pagini recente » Cod sursa (job #2489645) | Cod sursa (job #2077435) | Istoria paginii runda/simulare-cartita-31a | Cod sursa (job #2017973) | Cod sursa (job #1342992)
#include <fstream>
#define DIM 100003
using namespace std;
ifstream fin("grupuri.in");
ofstream fout("grupuri.out");
int N,K,v[DIM],p,u,mid,S,sol;
int check(int x){
int sum=0;
for(int i=1;i<=N;i++)
sum+=min(v[i],x);
return sum>=x*K;
}
int main(){
fin>>K>>N;
for(int i=1;i<=N;i++){
fin>>v[i];
S+=v[i];
}
p=1;
u=S/K+1;
sol=-1;
while(p<=u){
mid=(p+u)>>1;
if(check(mid)){
sol=mid;
p=mid+1;
}
else
u=mid-1;
}
fout<<sol<<'\n';
fin.close();fout.close();
return 0;
}