zoukankan      html  css  js  c++  java
  • P3290 寻找第K大数

    描述

    寻找第K大数 

      N个小朋友在一起做游戏。每个小朋友在自己的硬纸板上写一个数,然后同时举起来。接着,小y老师提一个问题,看哪个小朋友先抢答出来。问题是:在这N个数中,第K大的是哪个数?请你编程完成。 

    水题一道:
      桶排
    #include<cstdio>
    #include<iostream>
    #include<algorithm>
    #include<vector>
    #include<queue>
    #include<cstring>
    #include<cmath>
    using namespace std;
    int a[40000],b[40000];
    int n,k,maxn;
    int main()
    {
        scanf("%d%d",&n,&k);
        for(int i=1,x;i<=n;i++)
        {
            scanf("%d",&x);
            maxn=max(maxn,x);
            if(x>=0)    a[x]++;
            else b[-x]++;
        }
        for(int i=maxn;i>=0;i--)
        {
            k-=a[i];
            
            if(k<=0)    
            {
                printf("%d",i);
                return 0;
            }
        }
        for(int i=1;i<=40000;i++)
        {
            k-=b[i];        
            if(k<=0)    
            {
                printf("%d",-i);
                return 0;
            }
        }
        return 0;
    }
  • 相关阅读:
    存储型 XSS 原理复现
    反射型 XSS 原理复现
    HTTP 简易理解
    Markdown 流程图语法
    Dirsearch 快速开始
    sqlmap 快速开始
    SQL 注入原理
    XSS 原理
    51nod 1835 完全图
    11.5 AM 请求
  • 原文地址:https://www.cnblogs.com/CLGYPYJ/p/7625341.html
Copyright © 2011-2022 走看看