백준/백준-C++

1920번: 수 찾기

Beabletoet 2017. 9. 15. 16:54
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
#include<cstdio>
#include<algorithm>
using namespace std;
int main()
{
    int n, *num, m, mnum, ans = 0;
    scanf("%d"&n);
    num = new int[n];
    for (int i = 0; i < n; ++i)
        scanf("%d"&num[i]);
    sort(num, num + n);
    for (scanf("%d"&m); m--; ans = 0)
    {
        scanf("%d"&mnum);
        int low = 0, high = n - 1, mid;
        while (low <= high)
        {
            mid = (low + high) / 2;
            if (mnum > num[mid])
                low = mid + 1;
            else if (mnum < num[mid])
                high = mid - 1;
            else
            {
                ans = 1;
                break;
            }
        }
        printf("%d\n", ans);
    }
}
cs