#include using namespace std; int main() { int n,k,en; cin>>n>>k; en=n-1; long long int c[n],bcon[n],s[n],bs[n],myse,cost=0; int setp,pos=0,spos,epos; float cpb[n]; for(int i=0;i<=en;i++) {bcon[i]=1; bs[i]=i; s[i]=1; cin>>c[i]; if(i>=k) bcon[i]+=k; else { bcon[i]+=i; } if(i<=en-k) bcon[i]+=k; else bcon[i]+=(en-i); cpb[i]=(1.0*c[i])/bcon[i]; //cout<=i-k && j>=0) { if(cpb[bs[j]]>cpb[i]) bs[j]=i; j--; } //cout<<"hello"; j=i; while(j<=i+k && jcpb[i]) bs[j]=i; j++; } //cout<<"hello"; } //cout<<"hello"; if(calc==n) { cout<cpb[pos]))) { setp=1; pos=bs[i]; //cout<=pos-k && myse>=0) { s[myse]=0; myse--; } myse=pos; while(myse<=pos+k && myse=n) epos=n-1; for(int i=spos;i<=epos;i++) { bcon[i]=0; int starter,ender; starter=i-k; if(starter<0) starter=0; ender=i+k; if(ender>=n) ender=n-1; for(int j=starter;j<=ender;j++){ if(s[j]==1) bcon[i]++; } if(bcon[i]==0) s[i]=-1; else { cpb[i]=(1.0*c[i])/bcon[i]; } } } goto repeat; }