[HAOI2006]均分数据

[HAOI2006]均分数据

https://ac.nowcoder.com/acm/problem/19961

随机的次数多了,代码轻松跑过.

#include <bits/stdc++.h>
using namespace std;
int main()
{
    int n,m,a[23],x[23];cin>>n>>m;double tot=0;
    for(int i=1;i<=n;i++)
    {
        cin>>a[i];tot+=a[i];
    }int T=1000000;tot/=m;double ans=0x3f;
    while(T--)
    {
        memset(x,0,sizeof x);
        random_shuffle(a+1,a+1+n);
        for(int i=1;i<=n;i++)
        {
            int id=1;
            for(int j=2;j<=m;j++)
            {
                if(x[j]<x[id])    id=j;
            }x[id]+=a[i];
        }double sum=0;
        for(int i=1;i<=m;i++)    sum+=(x[i]-tot)*(x[i]-tot);
        sum/=(double)m;
        ans=min(ans,sum);
    }printf("%.2f\n",sqrt(ans));
    return 0;
}
lpt的小屋 文章被收录于专栏

我想要一份甜甜的爱情

全部评论

相关推荐

青春运维少年不会梦到...:实习大王
点赞 评论 收藏
分享
评论
4
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务