zoukankan      html  css  js  c++  java
  • 蓝桥杯ALGO-1,区间k大数查询

    #include<stdio.h>
    
    int devide(long a[], int low, int high) {
        long key = a[high];
        while (low<high) {
            while (low<high&&a[low]>key) {
                low++;
            }
            if (low<high)
                a[high--] = a[low];
            while (low<high&&a[high]<key) {
                high--;
            }
            if (low<high)
                a[low++] = a[high];
        }
        a[high] = key;
        return high;
    }
    
    void sort(long a[], int low, int high) {
        if (low>high) {
            return;
        }
        int j;
        j = devide(a, low, high);
        sort(a, low, j - 1);
        sort(a, j + 1, high);
    }
    
    int main() {
        int n, i, j;
        long a[1000], b[1000];
        int m;
        int l, r, k;
        scanf("%d", &n);
        for (i = 0; i<n; i++) {
            scanf("%ld", &a[i]);
        }
        scanf("%d", &m);
        for (i = 0; i<m; i++) {
            for (j = 0; j<n; j++) {
                b[j] = a[j];
            }
            scanf("%d%d%d", &l, &r, &k);
            sort(b, l - 1, r - 1);
            printf("%d
    ", b[l + k - 2]);
        }
        return 0;
    
    }
  • 相关阅读:
    matplotlib绘制常见统计图
    学习进度(14)
    hive的基本用法(2)
    hive的基本用法(1)
    进度日报表10
    进度日报表09
    进度日报表08
    进度日报表07
    第六周总结
    进度日报表06
  • 原文地址:https://www.cnblogs.com/lin0/p/6404841.html
Copyright © 2011-2022 走看看