Cod sursa(job #2308994)
Utilizator | Data | 28 decembrie 2018 11:28:51 | |
---|---|---|---|
Problema | Grupuri | Scor | 56 |
Compilator | cpp-64 | Status | done |
Runda | Arhiva de probleme | Marime | 0.44 kb |
#include <bits/stdc++.h>
using namespace std;
ifstream f ("grupuri.in");
ofstream g ("grupuri.out");
int main()
{
int N,K;
uint64_t s=0;
f>>K>>N;
vector<int> V(N+1);
for(int i=1;i<=N;i++)
f>>V[i], s+=V[i];
for(int l=1,r=s/K,m;l<=r;s=0)
{
m=(l+r)/2;
for(int i=1;i<=N;s+=min(m,V[i++]));
if(s>=K*m) l=m+1;
else r=m-1;
if(l>r) g<<r;
}
return 0;
}