#include <stdio.h>
#include <stdlib.h>
int arr1[100000];
int arr2[100000];
int cmpfunc(const void * a, const void * b) {
return (*(int*)a - *(int*)b);
}
int Bsearch(int ar[], int len, int target)
{
int first = 0;
int last = len - 1;
int mid;
while (first <= last)
{
mid = (first + last) / 2;
if (target == ar[mid])
{
return mid;
}
else
{
if (target < ar[mid])
last = mid - 1;
else
first = mid + 1;
}
}
return -1;
}
int main(void)
{
int n;
scanf("%d", &n);
int i;
for (i = 0; i < n; i++)
scanf("%d", &arr1[i]);
int m;
scanf("%d", &m);
for (i = 0; i < m; i++)
scanf("%d", &arr2[i]);
qsort(arr1, n, sizeof(int), cmpfunc);
////////////////////////////////////////////////////////////
printf("after sort:");
for(i = 0; i < n; i++) printf(" %d", arr1[i]);
printf("\n");
////////////////////////////////////////////////////////////
for (i = 0; i < m; i++)
{
int idx = Bsearch(arr1, n, arr2[i]);
if (idx == -1)
printf("0\n");
else
printf("1\n");
}
return 0;
}
I2luY2x1ZGUgPHN0ZGlvLmg+CiNpbmNsdWRlIDxzdGRsaWIuaD4KCgppbnQgYXJyMVsxMDAwMDBdOwppbnQgYXJyMlsxMDAwMDBdOwoKCmludCBjbXBmdW5jKGNvbnN0IHZvaWQgKiBhLCBjb25zdCB2b2lkICogYikgewoJcmV0dXJuICgqKGludCopYSAtICooaW50KiliKTsKfQoKaW50IEJzZWFyY2goaW50IGFyW10sIGludCBsZW4sIGludCB0YXJnZXQpCnsKCWludCBmaXJzdCA9IDA7CglpbnQgbGFzdCA9IGxlbiAtIDE7CglpbnQgbWlkOwoJd2hpbGUgKGZpcnN0IDw9IGxhc3QpCgl7CgkJbWlkID0gKGZpcnN0ICsgbGFzdCkgLyAyOwoJCWlmICh0YXJnZXQgPT0gYXJbbWlkXSkKCQl7CgkJCXJldHVybiBtaWQ7CgkJfQoJCWVsc2UKCQl7CgkJCWlmICh0YXJnZXQgPCBhclttaWRdKQoJCQkJbGFzdCA9IG1pZCAtIDE7CgkJCWVsc2UKCQkJCWZpcnN0ID0gbWlkICsgMTsKCQl9Cgl9CglyZXR1cm4gLTE7Cn0KCmludCBtYWluKHZvaWQpCnsKCWludCBuOwoJc2NhbmYoIiVkIiwgJm4pOwoJaW50IGk7Cglmb3IgKGkgPSAwOyBpIDwgbjsgaSsrKQoJCXNjYW5mKCIlZCIsICZhcnIxW2ldKTsKCWludCBtOwoJc2NhbmYoIiVkIiwgJm0pOwoJZm9yIChpID0gMDsgaSA8IG07IGkrKykKCQlzY2FuZigiJWQiLCAmYXJyMltpXSk7Cglxc29ydChhcnIxLCBuLCBzaXplb2YoaW50KSwgY21wZnVuYyk7CgkKCS8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoJcHJpbnRmKCJhZnRlciBzb3J0OiIpOwoJZm9yKGkgPSAwOyBpIDwgbjsgaSsrKSBwcmludGYoIiAlZCIsIGFycjFbaV0pOwoJcHJpbnRmKCJcbiIpOwoJLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgoJZm9yIChpID0gMDsgaSA8IG07IGkrKykKCXsKCQlpbnQgaWR4ID0gQnNlYXJjaChhcnIxLCBuLCBhcnIyW2ldKTsKCQlpZiAoaWR4ID09IC0xKQoJCQlwcmludGYoIjBcbiIpOwoJCWVsc2UKCQkJcHJpbnRmKCIxXG4iKTsKCX0KCXJldHVybiAwOwp9