Cod sursa(job #2910711)
Utilizator | Data | 24 iunie 2022 15:54:28 | |
---|---|---|---|
Problema | Grupuri | Scor | 74 |
Compilator | cpp-64 | Status | done |
Runda | 3_iulie | Marime | 0.49 kb |
#include <fstream>
using namespace std;
ifstream fin("grupuri.in");
ofstream fout("grupuri.out");
int n,k,i,s,st,dr,mid,v[100001];
int main() {
fin>>k>>n;
for (i=1;i<=n;i++) {
fin>>v[i];
s+=v[i];
}
st=1;
dr=s/k;
while (st<=dr) {
mid=(st+dr)/2;
s=0;
for (i=1;i<=n;i++)
s+=min(mid,v[i]);
if (k*mid<=s)
st=mid+1;
else
dr=mid-1;
}
fout<<dr;
return 0;
}