Pagini recente » Rating Scobiola Radu (ScobiolaRadu) | Cod sursa (job #153340) | Cod sursa (job #1569219) | Cod sursa (job #183843) | Cod sursa (job #1292741)
#include<fstream>
using namespace std;
int n, i, k, ii, jj;
long long s , p, u, mid;
int v[100001];
ifstream fin("grupuri.in");
ofstream fout("grupuri.out");
int main(){
fin>> k >> n;
for(i = 1; i <= n; i++){
fin>> v[i];
s += v[i];
}
p = 1;
u = s / k;
while(p <= u){
mid = (p + u) / 2;
ii = 1;
jj = 1;
for(i = 1; i <= n; i++){
if(v[i] > mid){
ii += mid;
if(ii > mid){
jj++;
ii-= mid;
}
}
else{
ii += v[i];
if(ii > mid){
jj++;
ii-= mid;
}
}
if(jj > k){
jj = k;
ii = mid;
break;
}
}
if(jj == k && ii == mid){
p = mid + 1;
}
else{
u = mid - 1;
}
}
fout<< u;
return 0;
}