CodeForces 589 I Lottery

来源:互联网 发布:淘宝网 北京 编辑:程序博客网 时间:2024/05/01 12:49

题意是给出一些数,问最少改变多少数字可以使它们出现频率相等。

那么只统计超过平均数的那些,多出来的,肯定是需要被改变的。

#include<stdio.h>#include<iostream>#include<math.h>#include<string.h>#include<iomanip>#include<stdlib.h>#include<ctype.h>#include<algorithm>#include<deque>#include<functional>#include<iterator>#include<vector>#include<list>#include<map>#include<queue>#include<set>#include<stack>#include<sstream>#define CPY(A,B)memcpy(A,B,sizeof(A))typedef long long LL;typedef unsigned long long uLL;const int MOD=1e9+7;const int INF=0x3f3f3f3f;const LL INFF=0x3f3f3f3f3f3f3f3fLL;const double EPS=1e-9;const double OO=1e20;const double PI=acos (-1.0);int dx[]= {0,1,0,-1};int dy[]= {1,0,-1,0};int gcd (const LL &a,const LL &b) {return b==0?a:gcd (b,a%b);}using namespace std;int col[110];int main() {    int n,k;    memset (col,0,sizeof col);    scanf ("%d%d",&n,&k);    for (int i=1; i<=n; ++i) {        int t; scanf ("%d",&t);        col[t]++;    }    int m=n/k,ans=0;    for (int i=1; i<=k; ++i) {        if (col[i]<m) { continue; }        else {ans+= (col[i]-m);}    }    printf ("%d\n",ans);    return 0;}


0 0
原创粉丝点击