zoukankan      html  css  js  c++  java
  • 7617:输出前k大的数

    7617:输出前k大的数

    总时间限制:
    10000ms
    单个测试点时间限制:
    1000ms
    内存限制:
    65536kB
    描述

    给定一个数组,统计前k大的数并且把这k个数从大到小输出。

    输入
    第一行包含一个整数n,表示数组的大小。n < 100000。
    第二行包含n个整数,表示数组的元素,整数之间以一个空格分开。每个整数的绝对值不超过100000000。
    第三行包含一个整数k。k < n。
    输出
    从大到小输出前k大的数,每个数一行。
    样例输入
    10
    4 5 6 9 8 7 1 2 3 0
    5
    样例输出
    9
    8
    7
    6
    5
    • 查看
    • 提交
    • 统计
    • 提问
       1 #include<iostream>
       2 #include<cstdio>
       3 #include<cstring>
       4 #include<string>
       5 #include<algorithm>
       6 #include<cmath>
       7 using namespace std;
       8 long long a[1000000];
       9 int k=0,t=0;
      10 int qsort(int l,int r)
      11 {
      12     int i=l;
      13     int j=r;
      14     int mid=a[(l+r)/2];
      15     do
      16     {
      17         while(a[i]<mid)i++;
      18         while(a[j]>mid)j--;
      19         if(i<=j)
      20          {
      21              swap(a[i],a[j]);
      22          i++;
      23          j--;
      24          }
      25     }while(i<=j);
      26     if(j>l)qsort(l,j);
      27     if(i<r)qsort(i,r);
      28 }
      29 int main()
      30 {
      31     long long n,q;
      32     cin>>n;
      33     for(long long i=1;i<=n;i++)
      34      {
      35          cin>>a[i];
      36      }cin>>q;
      37      qsort(1,n);
      38      for(long long i=n;i>=n-q+1;i--)
      39       {
      40           cout<<a[i]<<endl;
      41       }
      42       return 0;
      43 }
  • 相关阅读:
    poj3635(最短路)
    poj 3041( 最大匹配)
    poj 3522(生成树)
    poj 1904(强连通分量)
    poj 2446(二分匹配)
    poj 2400(最小权匹配)
    poj 2175(费用流消圈)
    poj 1256(搜索)
    poj 2195(最小费用流)
    poj 3613(最短路)
  • 原文地址:https://www.cnblogs.com/lyqlyq/p/6623977.html
Copyright © 2011-2022 走看看