zoukankan      html  css  js  c++  java
  • HDU 1425 sort

    给你n个整数,请按从大到小的顺序输出其中前m大的数。
     


     

    Input
    每组测试数据有两行,第一行有两个数n,m(0<n,m<1000000),第二行包含n个各不相同,且都处于区间[-500000,500000]的整数。
     


     

    Output
    对每组测试数据按从大到小的顺序输出前m大的数。
     


     

    Sample Input
    5 3 3 -35 92 213 -644
     


     

    Sample Output
    213 92 3
    //用排序的数当成坐标
    //对于排序来说适用比较窄

    #include <stdio.h>//比用快排做快了200Ms
    #include <string.h>
    #include <stdlib.h>
    int
     a[1000001];
    int
     main()
    {
      //freopen("in.txt","r",stdin);

      int
     n,m,k;
      while
    (scanf("%d%d",&n,&m)!=EOF)
      {
       memset(a,0,sizeof(a));
          while
    (n--)
          {

              scanf("%d",&k);
              a[k+500000]=1;
          }

        for
    (n=1000000;n>=0;n--)
            if
    (a[n])
            {

                if
    (!m--)
                  break
    ;
               printf("%d",n-500000);
                 break
    ;
            }

          for
    (n--;n>=0;n--)
            if
    (a[n])
             {

                 if
    (!m--)
                  break
    ;
                  printf(" %d",n-500000);
             }

            printf("\n");
      }

      return
     0;
    }

                                                  --------江财小子

  • 相关阅读:
    SVN配置
    最简单的JS例子2
    最简单的JS例子
    时间相加减(小森请假流程)
    B/S架构(及电脑浏览网页的详细说明)
    J2EE简介
    正向代理和反向代理
    Django ORM 数据库设置和读写分离
    mysq的慢查询日志
    django中的Form和ModelForm中的问题
  • 原文地址:https://www.cnblogs.com/372465774y/p/2421650.html
Copyright © 2011-2022 走看看