• codeforces589I


    Lottery

     CodeForces - 589I 

    Today Berland holds a lottery with a prize — a huge sum of money! There are kpersons, who attend the lottery. Each of them will receive a unique integer from 1 to k.

    The organizers bought n balls to organize the lottery, each of them is painted some color, the colors are numbered from 1 to k. A ball of color c corresponds to the participant with the same number. The organizers will randomly choose one ball — and the winner will be the person whose color will be chosen!

    Five hours before the start of the lottery the organizers realized that for the lottery to be fair there must be an equal number of balls of each of k colors. This will ensure that the chances of winning are equal for all the participants.

    You have to find the minimum number of balls that you need to repaint to make the lottery fair. A ball can be repainted to any of the k colors.

    Input

    The first line of the input contains two integers n and k (1 ≤ k ≤ n ≤ 100) — the number of balls and the number of participants. It is guaranteed that n is evenly divisible by k.

    The second line of the input contains space-separated sequence of n positive integers ci (1 ≤ ci ≤ k), where ci means the original color of the i-th ball.

    Output

    In the single line of the output print a single integer — the minimum number of balls to repaint to make number of balls of each color equal.

    Examples

    Input
    4 2
    2 1 2 2
    Output
    1
    Input
    8 4
    1 2 1 1 1 4 1 4
    Output
    3

    Note

    In the first example the organizers need to repaint any ball of color 2 to the color 1.

    In the second example the organizers need to repaint one ball of color 1 to the color 2 and two balls of the color 1 to the color 3.

    sol:略水,小学奥数随便搞搞,原题地址已经没了,我也不知道自己写的对不对

    #include <bits/stdc++.h>
    using namespace std;
    typedef int ll;
    inline ll read()
    {
        ll s=0;
        bool f=0;
        char ch=' ';
        while(!isdigit(ch))
        {
            f|=(ch=='-'); ch=getchar();
        }
        while(isdigit(ch))
        {
            s=(s<<3)+(s<<1)+(ch^48); ch=getchar();
        }
        return (f)?(-s):(s);
    }
    #define R(x) x=read()
    inline void write(ll x)
    {
        if(x<0)
        {
            putchar('-'); x=-x;
        }
        if(x<10)
        {
            putchar(x+'0');    return;
        }
        write(x/10);
        putchar((x%10)+'0');
        return;
    }
    #define W(x) write(x),putchar(' ')
    #define Wl(x) write(x),putchar('
    ')
    const int N=105;
    int n,m,Ges[N];
    int main()
    {
        int i,ans=0;
        R(n); R(m);
        for(i=1;i<=n;i++)
        {
            Ges[read()]++;
        }
        int oo=n/m;
        for(i=1;i<=m;i++) ans+=abs(Ges[i]-oo);
        Wl(ans>>1);
        return 0;
    }
    /*
    Input
    4 2
    2 1 2 2
    Output
    1
    
    Input
    8 4
    1 2 1 1 1 4 1 4
    Output
    3
    */
    View Code
  • 相关阅读:
    Linux套接子(c语言)模拟http请求、应答
    709. 转换成小写字母
    1108. IP 地址无效化
    C++大作业——教职工管理系统
    贪吃蛇游戏 1.0
    getch()函数的使用方法及其返回值问题
    Open source project code
    slack Interface operation
    slack init: Simple interaction with slack bot
    mac 使用 Docker 搭建 ubuntu 环境
  • 原文地址:https://www.cnblogs.com/gaojunonly1/p/10738128.html
Copyright © 2020-2023  润新知