zoukankan      html  css  js  c++  java
  • nyoj 1073 最小值

    最小值

    时间限制:1000 ms  |  内存限制:65535 KB
    难度:3
     
    描述

    输入N个数,M次查询。

    每次查询给出一个数x。

     

    要求:每次查询输出前x个数中第i小的数。(i为第i次查询)

    你可以假设M  <= N,Xi <= Xi+1 <= Xi+2 <= ……. <= Xm (Xm <= N).

     
    输入
    Line0:T
    Line1: N,M
    Line2…LineN+1:num1,......,numN
    LineN+2…LineN+2+M:x1,……,xM

    N < 30000, num < 2000000000
    输出
    每次查询输出前i小的数,单独一行。
    详细格式请参考样例。
    样例输入
    1
    7 4
    3 1 -4 2 8 -1000 2
    1 2 6 6
    样例输出
    3
    3
    1
    2
    /**
        分析:该题是,将前m个数升序排序,再输出 P[pos]的值
        注意:不要将原数组直接进行排序 
    **/

    C/C++代码实现:

    #include <iostream>
    #include <algorithm>
    #include <cstring>
    #include <cmath>
    #include <cstdio>
    #include <stack>
    #include <queue>
    #include <map>
    
    using namespace std;
    
    int A[30005], B[30005];
    
    int main () {
        int T;
        scanf ("%d", &T);
        while (T --) {
            int N, M, a;
            scanf ("%d%d", &N, &M);
            for (int i = 0; i < N; ++ i)
                scanf ("%d", &A[i]);
                
            for (int i = 1; i <= M; ++ i) {
                scanf ("%d", &a);
                for (int j = 0; j < a; ++ j) {
                    B[j] = A[j];
                }
                sort (B, B + a, less <int>());
                printf ("%d
    ", B[i - 1]);
            } 
        }
        return 0;
    } 
  • 相关阅读:
    Android学习地址
    Android动画设计源码地址
    chromeWebBrowser之浏览器开发
    win8.1蓝屏解决
    打包应用程序
    win8.1解决鼠标右键反应慢的问题
    Rewrite服务器和robots文件屏蔽动态页面
    第08组 Alpha事后诸葛亮
    第08组 Alpha冲刺(6/6)
    第08组 Alpha冲刺(5/6)
  • 原文地址:https://www.cnblogs.com/GetcharZp/p/8974733.html
Copyright © 2011-2022 走看看