internal class Program
{
static void Main(string[] args)
{
StreamReader sr = new StreamReader(Console.OpenStandardInput());
StreamWriter sw = new StreamWriter(Console.OpenStandardOutput());
int N = int.Parse(sr.ReadLine());
int[] havingCards = new int[N];
havingCards = Array.ConvertAll(sr.ReadLine().Split(" "), int.Parse);
Array.Sort(havingCards);
int M = int.Parse(sr.ReadLine());
int[] randomCards = new int[M];
randomCards = Array.ConvertAll(sr.ReadLine().Split(" "), int.Parse);
for (int i = 0; i < M; i++)
{
int first = 0;
int end = havingCards.Length - 1;
int num = randomCards[i];
bool hasNum = false;
while (first <= end)
{
int middle = (first + end) / 2;
if (num == havingCards[middle])
{
hasNum = true;
break;
}
else if(num > havingCards[middle])
{
first = middle + 1;
}
else
{
end = middle - 1;
}
}
sw.Write(hasNum ? "1 " : "0 ");
}
sr.Close();
sw.Close();
}
}
댓글남기기