Cod sursa(job #3231720)
| Utilizator | Data | 27 mai 2024 16:55:54 | |
|---|---|---|---|
| Problema | Cautare binara | Scor | 0 |
| Compilator | cpp-64 | Status | done |
| Runda | Arhiva educationala | Marime | 0.62 kb |
#include<iostream>
using namespace std;
const int NMAX1=25000;
const int NMAX2=2*1e5;
int x[NMAX1], y[NMAX2];
bool exista (int a,int n)
{
int st = 0, dr = n-1, m;
while(st <= dr)
{
m = (st+dr)/2;
if (x[m] == a)
return true;
if (x[m] < a)
st = m+1;
else
dr = m-1;
}return false;
}
int main()
{
int n, m;
cin >> n;
for(int i = 0; i < n; i++)
cin >> x[i];
cin >> m;
for(int i = 0; i < m; i++)
cin >> y[i];
for(int i = 0; i < m; i++)
cout << exista(y[i],n) << " ";
}
