#include using namespace std; long long a[100010],n,k,b[100010]; bool check(long long x){ for(long long i=1;i<=n;i++){ b[i]=0; if(x>a[i]){ b[i]=x-a[i]; } } long long o=0,c=0; for(long long i=1;i<=n;i++){ if(b[i]-c>0){ b[i]-=c; long long pp=(b[i]+i-1)/i; o+=pp; c+=pp*i; } } if(o<=k){ return 1; } return 0; } int main(){ ios::sync_with_stdio(0); cin.tie(0),cout.tie(0); cin>>n>>k; for(long long i=1;i<=n;i++){ cin>>a[i]; } long long l=0,r=2e14; while(l>1; if(check(mid)){ l=mid; } else{ r=mid-1; } } cout<