小弟的代码出了点问题,但不知道问题出在哪里?望各位前辈给看一看
程序代码:// 算法训练 区间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;
}
编译可以通过,原题中的例子经测试也正确,但是提交后系统给判总是过不了。




