#include<stdio.h> #include<stdlib.h> #include<string.h> #define N 51000 int cmp(const void *a,const void *b) { return *(int *)a-*(int *)b; } int a[N]; int sum[N]; double all[N]; double ss(int a,double b) { return (1.0*a-b)*(1.0*a-b); } double Min(double a,double b) { return a>b?b:a; } int main() { int n,m,i,t; double ans,maxx; scanf("%d",&t); while(t--) { scanf("%d%d",&n,&m); for(i=1;i<=n;i++) scanf("%d",&a[i]); qsort(a+1,n,sizeof(a[0]),cmp); sum[0]=0; for(i=1;i<=n;i++) sum[i]=sum[i-1]+a[i]; for(i=1;i<=m+1;i++) all[i]=1.0*(sum[i+n-m-1]-sum[i-1])/(n-m); // printf("%d ",sum[n-m]); // printf("%.10f ",all[1]); ans=0; for(i=1;i<=n-m;i++) ans+=1.0*ss(a[i],all[1]); maxx=ans; // printf("%.10f ",maxx); for(i=2;i<=m+1;i++) { ans=ans-2.0*(sum[i+n-m-2]-sum[i-1])*(all[i]-all[i-1])-1.0*ss(a[i-1],all[i-1])+1.0*ss(a[i+n-m-1],all[i])+(n-m-1)*(all[i]*all[i]-all[i-1]*all[i-1]); maxx=Min(maxx,ans); } printf("%.10f ",maxx); } return 0;}