查数(救救孩子吧 写了半天了)
Description给定一个序列,每次询问序列中第l个数到第r个数中第K大的数是哪个。
Input
输入描述:
第一行包含一个数n,表示序列长度。
第二行包含n个正整数,表示给定的序列。
第三个包含一个正整数m,表示询问个数。
接下来m行,每行三个数l,r,K,表示询问序列从左往右第l个数到第r个数中,从大往小第K大的数是哪个。序列元素从1开始标号。
输入样例:
5
1 2 3 4 5
2
1 5 2
2 3 2
Output
输出描述:
总共输出m行,每行一个数,表示询问的答案。
输出样例:
4
2 本帖最后由 jackz007 于 2020-12-27 14:41 编辑
#include <stdio.h>
int main(void)
{
int a , d , e , i , j , k , m , n , t ;
scanf("%d" , & n) ;
for(i = 0 ; i < n ;i ++) scanf("%d" , & d) ;
scanf("%d" , & m) ;
for(i = 0 ; i < m ; i ++) scanf("%d%d%d" , & a , & a , & a) ;
for(k = 0 ; k < m ; k ++) {
for(i = 0 ; i < n ; i ++) e = i ;
for(i = a - 1 ; i < a - 1 ; i ++) {
for(j = i + 1 ; j < a ; j ++) {
if(d] < d]) {
t = e ;
e = e ;
e = t ;
}
}
}
printf("%d\n" , e + a - 2] + 1) ;
}
}
编译、运行实况
D:\00.Excise\C>g++ -o x x.c
D:\00.Excise\C>x
5
1 2 3 4 5
2
1 5 2
2 3 2
4
2
D:\00.Excise\C>
页:
[1]