zoukankan      html  css  js  c++  java
  • hash

    A - 前m大的数
    Time Limit:1000MS     Memory Limit:32768KB     64bit IO Format:%I64d & %I64u
    use MathJax to parse formulas

    Description

    还记得Gardon给小希布置的那个作业么?(上次比赛的1005)其实小希已经找回了原来的那张数表,现在她想确认一下她的答案是否正确,但是整个的答案是很庞大的表,小希只想让你把答案中最大的M个数告诉她就可以了。
    给定一个包含N(N<=3000)个正整数的序列,每个数不超过5000,对它们两两相加得到的N*(N-1)/2个和,求出其中前M大的数(M<=1000)并按从大到小的顺序排列。
     

    Input

    输入可能包含多组数据,其中每组数据包括两行:
    第一行两个数N和M,
    第二行N个数,表示该序列。

     

    Output

    对于输入的每组数据,输出M个数,表示结果。输出应当按照从大到小的顺序排列。
     

    Sample Input

    4 4 1 2 3 4 4 5 5 3 6 4
     

    Sample Output

    7 6 5 5 11 10 9 9 8
    #include <stdio.h>
    #include <string.h>
    #include <stdlib.h>
    int a[10001]={0},b[10001]={0};
    int main()
    {
        int n,m,i,j,t=0;
        while(scanf("%d%d",&n,&m)!=EOF)
        {
            t=0;
            for(i=0;i<n;i++)
            {
                scanf("%d",&a[i]);
                for(j=i-1;j>=0;j--)
                {
                    b[a[i]+a[j]]++;
                }
    
            }
            for(i=10000;i>=0;i--)
                {
                    if (b[i])
                    {
                        printf("%d", i);
                        b[i]--;
                        t++;
                        break;
                    }
            }
            for(;i>=0;i--) {
    
                while(b[i])
                    {
                    if(t<m)
                    {
                        printf(" %d",i);
                        t++;
                        b[i]--;
                    }
                    else break;
                }
                if(j>=m)
                break;
            }
            printf("%d",j);
            printf("
    ");
        }
        return 0;
    }
    
  • 相关阅读:
    两小时后执行打开浏览器的操作
    Markdown语法
    Python机器学习2.2
    身份证姓名与身份证号校验
    根据银行卡号获取开户行
    生成微信小程序二维码
    .net 生成二维码
    微信支付API V3(.Net Core)
    .net 生成项目xml描述文件
    汉字排序问题
  • 原文地址:https://www.cnblogs.com/ljhacm/p/6677741.html
Copyright © 2011-2022 走看看