• POJ-5210-Delete(贪心2)


    Description

    WLD likes playing with numbers. One day he is playing with $N$ integers. He wants to delete $K$ integers from them. He likes diversity, so he wants to keep the kinds of different integers as many as possible after the deletion. But he is busy pushing, can you help him?
     

    Input

    There are Multiple Cases. (At MOST $100$)

    For each case:

    The first line contains one integer $N(0 < N leq 100)$.

    The second line contains $N$ integers $a1,a2,...,aN(1 leq ai leq N)$, denoting the integers WLD plays with.

    The third line contains one integer $K(0 leq K < N)$.
     

    Output

    For each case:

    Print one integer. It denotes the maximum of different numbers remain after the deletion.
     

    Sample Input

    4 1 3 1 2 1
     

    Sample Output

    3

    Hint

    if WLD deletes a 3, the numbers remain is [1,1,2],he'll get 2 different numbers. if WLD deletes a 2, the numbers remain is [1,1,3],he'll get 2 different numbers. if WLD deletes a 1, the numbers remain is [1,2,3],he'll get 3 different numbers. 
    #include <stdio.h>
    #include <cstring>
    int main()
    {
        int flag[101],m,n,x;
        while(scanf("%d",&n)!=EOF)
        {
            int k=0,sum=0;
            memset(flag,0,sizeof(flag));
            for(int i=0; i<n; i++)
            {
                scanf("%d",&x);
                if(flag[x]==0)
                {
                    sum++;//种类加
                    flag[x]++;//标记出现过
                }
                else
                k++;//重复的个数
            }
            scanf("%d",&m);
            if(m<=k)
            printf("%d
    ",sum);
            if(m>k)
            printf("%d
    ",sum-(m-k));
        }
    }
  • 相关阅读:
    Grunt 实现浏览器实时刷新
    Node环境搭建
    前端项目三方库管理
    Node项目包管理器
    前端开发利器
    面向对象目录
    Java 面向对象(十四)
    Java 面向对象(十三)
    Java 面向对象(十二)
    Java 面向对象(十)
  • 原文地址:https://www.cnblogs.com/tianmin123/p/4635695.html
Copyright © 2020-2023  润新知