蓝桥杯练习题 区间k大数查询

算法训练 区间k大数查询

#include<stdio.h>
int main() {
	int n,m,l,r,k,len=1;
	int i,j,h;
	int a[1001],b[1001],c[1001];
	scanf("%d",&n);
	for(i=1; i<=n; i++)
		scanf("%d",&a[i]);
	scanf("%d",&m);
	for(i=1; i<=m; i++) {
		scanf("%d%d%d",&l,&r,&k);
		for(j=l; j<=r; j++){
			b[len]=a[j];
			len++;
		}
		for(j=1; j<=len-1; j++)
			for(h=1; h<=len-1-j; h++) {
				if(b[h]<b[h+1]) {
					int temp;
					temp = b[h];
					b[h] = b[h+1];
					b[h+1] = temp;
				}
			}
		c[i]=b[k];
		len=1;
	}
	for(i =1; i<=m; i++) {
		printf("%d\n",c[i]);
	}
	return 0;
}

仅供参考······

猜你喜欢

转载自blog.csdn.net/qq_41501673/article/details/86521308