小弟的代码出了点问题,但不知道问题出在哪里?望各位前辈给看一看
程序代码:
// 算法训练 区间k大数查询.cpp : Defines the entry point for the console application. // #include "stdafx.h" int main(int argc, char* argv[]) { int i, j, d, m, n, p, l[1000], r[1000], k[1000], t, a[1000], b[1000], c[1000]; scanf("%d", &n); for (i = 0; i < n; i++) { scanf("%d", &a[i]); } scanf("%d", &m); for (i = 0; i < m; i++) { scanf("%d %d %d", &l[i], &r[i], &k[i]); } for (i = 0; i < m; i++) { for (d = 0; d < n; d++) { b[d] = a[d]; } for (p = l[i]-1; p < r[i]; p++) { for (j = p+1; j < r[i]; j++) { if (a[p] < a[j]) { t = b[p]; b[p] = b[j]; b[j] = t; } } } c[i] = b[l[i]+k[i]-2]; } for (i = 0; i < m; i++) printf("%d\n", c[i]); return 0; }
编译可以通过,原题中的例子经测试也正确,但是提交后系统给判总是过不了。