Cod sursa(job #3167688)
Utilizator | Ionascu Andrei answar | Data | 10 noiembrie 2023 23:33:15 |
---|---|---|---|
Problema | Grupuri | Scor | 100 |
Compilator | cpp-64 | Status | done |
Runda | Arhiva de probleme | Marime | 0.6 kb |
#include <fstream>
#include <algorithm>
using namespace std;
ifstream cin("grupuri.in");
ofstream cout("grupuri.out");
long long n,m,i,j,k,st,dr,mid,sum,aux,s;
long long v[100010];
int main () {
cin>>k>>n;
for (i=1;i<=n;i++) {
cin>>v[i];
sum+=v[i];
}
st=1;
dr=sum;
aux=1;
while (st<=dr) {
mid=(st+dr)/2;
s=0;
for (i=1;i<=n;i++) {
s+=min(mid,v[i]);
}
if (s>=k*mid) {
st=mid+1;
aux=mid;
}
else {
dr=mid-1;
}
}
cout<<aux;
}