zoukankan      html  css  js  c++  java
  • 求n个数中前k个数,按之前的顺序输出(HK IPM)

    For smaller k:

     1 #include <cstdio>
     2 #include <cstdlib>
     3 #include <cstring>
     4 #include <cmath>
     5 #include <list>
     6 #include <stack>
     7 #include <vector>
     8 #include <set>
     9 #include <map>
    10 #include <queue>
    11 #include <algorithm>
    12 #include <iostream>
    13 using namespace std;
    14 #define ll long long
    15 const long maxn=1e6+5;
    16 const ll mod=1e9+7;
    17 #define inf 1e9
    18 
    19 struct cmp
    20 {
    21     bool operator() (pair<long long,long> a,pair<long long,long> b)
    22     {
    23         return a.first < b.first;
    24     }
    25 };
    26 
    27 bool cmp1(pair<long long,long> a,pair<long long,long> b)
    28 {
    29     return a.second < b.second;
    30 }
    31 
    32 priority_queue<pair<long long,long>,vector<pair<long long,long> >, cmp> f;
    33 pair<long long,long> pr[maxn];
    34 
    35 int main()
    36 {
    37     long n,k,i,g;
    38     long long a;
    39     scanf("%ld%ld",&n,&k);
    40     for (i=1;i<=n;i++)
    41     {
    42         scanf("%lld",&a);
    43         f.push(make_pair(a,i));
    44         if (i>k)
    45             f.pop();
    46     }
    47     g=0;
    48     while (!f.empty())
    49     {
    50         pr[g]=f.top();
    51         g++;
    52         f.pop();
    53     }
    54     sort(pr,pr+g,cmp1);
    55     for (i=0;i<g;i++)
    56         printf("%lld
    ",pr[i].first);
    57     return 0;
    58 }
  • 相关阅读:
    Redis 安装
    Git的安装和使用
    HTML5 本地存储+layer弹层组件制作记事本
    PHP 微信公众号开发
    PHP 微信公众号开发
    Electron 安装与使用
    HTML5 桌面消息提醒
    Composer安装和使用
    玄 学
    区间内的真素数
  • 原文地址:https://www.cnblogs.com/cmyg/p/8904315.html
Copyright © 2011-2022 走看看