알고리즘 문제 풀고있는데
시간 초과 했다고 fail 이래여..
#include <stdio.h>
int main()
{
int n[100000] = {}, m[100000] = {}, nn, mm, num1, num2;
scanf("%d", &nn);
num1 = nn;
nn = 0;
while ( nn < num1)
{
scanf("%d", &n[nn]);
nn++;
}
scanf("%d", &mm);
num2 = mm;
mm = 0;
while (mm < num2)
{
scanf("%d", &m[mm]);
mm++;
}
for (mm = 0; mm < num2; mm++)
{
for (nn = 0; nn < num1; nn++)
{
if (n[nn] == m[mm])
{
puts("1");
break;
}
if (nn == num1)
{
puts("0");
break;
}
}
}
return 0;
}
CPU를 더 좋은 걸 끼세요
제 컴퓨터는 충분히 좋은데 알고리즘 사이트에서 속도초과래여
n^2 수행시간이네요. 정렬(NlogN) 이후 탐색 (logN) 해보세요