알고리즘 MonotoneWalkwa 과제인데 출력값은 잘나오는데 채점서버에 올리면 런타임오류라고 나와서 ㅠㅠ 도대체무슨문제일까??


#define _CRT_SECURE_NO_WARNINGS

#include <stdio.h>

#include <stdlib.h>



int main()

{

FILE *f;

int ncase, data;

int i, j, k, m, l, o, p, q;

int a, b, c;

int n, x, y;

int nx[10002] = { 0 };

int ny[10002] = { 0 };

int tmp;




f = fopen("input.txt", "r");

if (f == NULL) exit(1);


fscanf(f, "%d", &ncase);


for (i = 0; i < ncase; i++)

{

fscanf(f, "%d", &n);


for (j = 0; j < n; j++)

fscanf(f, "%d%d", &nx[j], &ny[j]);


for (m = 0; m < n; m++)

{

for (l = m + 1; l < n + 1; l++)

{

if (nx[m] > nx[l])

{

tmp = nx[m];

nx[m] = nx[l];

nx[l] = tmp;


tmp = ny[m];

ny[m] = ny[l];

ny[l] = tmp;

}

if (nx[m] == nx[l])

{

if (ny[m] > ny[l])

{

tmp = ny[m];

ny[m] = ny[l];

ny[l] = tmp;


}

}

}


}

for (p = 0; p < n; )

{

c = p;

for (k = p + 1; k < n+1; ++k)

{

if (nx[p] == nx[k])

c = k;

else

break;


}


if (p != c && p!=0) {

if (ny[p - 1] != ny[p]) {

for (a = p; a < c+1 ; a++)

{

for (b = a+1 ; b < c + 1; b++) {

if (ny[a] < ny[b])

{

tmp = ny[a];

ny[a] = ny[b];

ny[b] = tmp;

}


}

}


}

p = c + 1;

}

else


++p;

}

fscanf(f, "%d", &x);

for (q = 0; q < x; q++)

{

fscanf(f, "%d", &y);

printf("%d %d ", nx[y], ny[y]);

}


for (o = 0; o < n+1; o++)

{

nx[o] = 0;

ny[o] = 0;

}


}

}