woj 1570 - G - April disease (数论)

题意:

思路:

 

#include<cstdio>
#include<iostream>
#include<cstring>
#include<cstdlib>
#include<cmath>
#include<queue>
#include<algorithm>
using namespace std;
int a[35],n,m;
int main()
{

    while(~scanf("%d%d",&n,&m))
    {
        double sum,ave,ans,cnt=0x3f3f3f3f,t=0;
        for(int i=0; i<n; i++)
            scanf("%d",&a[i]);
        sort(a,a+n);

        for(int j=0; j<n-1; j++)
        {
            sum=0;ans=0;
            for(int i=t; i-t<m; i++)
                sum+=a[i];
            ave=sum/m;
//            printf("%lf %lf\n",sum,ave);
            for(int i=t; i-t<m; i++)
            {
                ans+=(a[i]-ave)*(a[i]-ave);
            }
            ans/=m;
//            printf("%lf\n",ans);
            if(cnt>ans)cnt=ans;
            t++;
        }
        printf("%.3lf\n",cnt);

    }return 0;
}

  

posted @ 2015-04-21 11:29  sola94  阅读(144)  评论(0)    收藏  举报