• 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



    AC代码:
    #include <stdio.h>
    #define inf 2000000000
    int a[30005];
    void quicksort(int left,int right);
    int main()
    {
        int T,M,N,i,j,k;
        scanf("%d",&T);
        while(T--)
        {
            scanf("%d%d",&N,&M);
            for(i=0;i<N;i++)
                scanf("%d",&a[i]);
                for(i=0;i<M;i++)
                {
                    scanf("%d",&k);
                    quicksort(0,k-1);//快排
                    printf("%d
    ",a[i]);//第i小值
                }
        }
        return 0;
    }
    void quicksort(int left,int right)
    {
        int i,j,t,temp;
        if( left > right )
        {
            return;
        }
        i = left;
        j = right;
        t = a[left];
        while( i != j )
        {
            while( a[j]>= t && i<j )
            {
                j--;
            }
            while( a[i]<= t && i<j )
            {
                i++;
            }
            if(i < j)
            {
                temp = a[i];
                a[i] = a[j];
                a[j] = temp;
            }
        }
    
        a[left] = a[i];
        a[i] = t;
    
        quicksort(left,i-1);
        quicksort(i+1,right);
        return;
    }

    优化代码下次更新..




  • 相关阅读:
    HTTP 常见状态码
    SpringMVC 入门
    Maven 整合SSH框架
    SSH 框架整合总结
    Maven 整合SSH框架之pom.xml
    Maven 入门
    WebService 综合案例
    CXF 框架
    jQuery高级
    JavaScript补充:BOM(浏览器对象模型)
  • 原文地址:https://www.cnblogs.com/ldy-miss/p/5886814.html
Copyright © 2020-2023  润新知