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;

}

  

你可能感兴趣的:(apr)