Pagini recente » Cod sursa (job #2379208) | Cod sursa (job #325281) | Cod sursa (job #277802) | Cod sursa (job #1939027) | Cod sursa (job #1013593)
#include<fstream>
#define ll long long
using namespace std;
ifstream f("grupuri.in"); ofstream g("grupuri.out");
int K,n,v[100100];
ll sum;
inline bool Posibil(ll nrg)
{ ll total=nrg*K;
for(int i=1;i<=n;i++) total-=1LL*min(1LL*v[i],nrg);
if(total<=0LL) return true;
return false;
}
inline ll CautareBinara()
{ ll mij,rez=0,st=1,dr=sum/(1LL*K);
while(st<=dr)
{ mij=(st+dr)/2;
if(Posibil(mij)) {rez=mij; st=mij+1;}
else dr=mij-1;
}
return rez;
}
int main()
{ f>>K>>n;
for(int i=1;i<=n;i++) {f>>v[i]; sum+=1LL*v[i];}
g<<CautareBinara()<<"\n"; g.close(); return 0;
}