https://i2.wp.com/eblogarithm.com/wp-content/uploads/2017/07/Codeforces-Round-424-Div-2-rated-based-on-VK-Cup-Finals-problem-F-Bamboo-Partition-Solution-In-CC1.png?fit=640%2C360

Codeforces Round #424 (Div. 2, rated, based on VK Cup Finals), problem: (F) Bamboo Partition Solution In C/C++

#include<cstdio>
#include<algorithm>
using namespace std;
int n,a[110]; long long k,ans=0;
int main(){
scanf(“%d%lld”,&n,&k);
for (int i=1; i<=n; i++) scanf(“%d”,&a[i]);
for (long long l=1,r; l<=1LL<<62; l=r+1){
// printf(“%lld %lld\n”,l,r);
long long cnt=0,weight=0; r=1LL<<62;
for (int i=1; i<=n; i++){
cnt+=(((a[i]-1)/l)+1)*l-a[i];
weight+=(a[i]-1)/l+1;
if ((a[i]>l) && ((a[i]-1)/((a[i]-1)/l) < r)) r=(a[i]-1)/((a[i]-1)/l);
}
// printf(“==%lld %lld %lld %lld\n”,l,r,cnt,weight);
if (k>=cnt){
long long nex=(k-cnt)/weight;
ans=max(ans,min(l+nex,r));
}
}
printf(“%lld\n”,ans);
}

(Visited 11 times, 1 visits today)



There are no comments

Add yours

Leave a Reply

%d bloggers like this: