zoukankan      html  css  js  c++  java
  • hd acm1425

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

    先看代码:

    #include<stdio.h>
    #include<string.h>
    #define MAX 1100000
    int a[MAX];

    int main()
    {
      int n,m,i,t,k;
      while(scanf("%d%d",&n,&m)!=EOF)
      {
        while(n--)
        {
          scanf("%d",&t);
          a[t+500000]=1;  /*这个处理是边输边排,输入一个较小的数a,a便被分到了数组的较前方;输入一个较大的数b,b便被分到了数组的较后方。这样就间接实现了对输入的数据从大到小的排列,然后再按照要求输出。很6*/

        }
        t=MAX;
        for(i=0;i<m;i++)
        {
        while(1)
        {
          if(a[t]==1)
          {
            k=t-500000;
            a[t]=0;
            break;
          }
          else
            t--;
        }
       if(i==0)
         printf("%d",k);
       else
         printf(" %d",k);
         }
         printf(" ");
      }
      return 0;
    }

  • 相关阅读:
    Maya 与 Matlab 数据互联插件使用教程
    代码可视化算法流程
    sql 至少含有
    sql update limit1
    c# windows service 程序
    c#和.net区别
    c#数据库乱码
    c#事件实质
    c#非界面线程控制控件
    mysql唯一查询
  • 原文地址:https://www.cnblogs.com/clljs/p/7447531.html
Copyright © 2011-2022 走看看