Cod sursa(job #3176688)
| Utilizator | Data | 27 noiembrie 2023 16:45:26 | |
|---|---|---|---|
| Problema | Cautare binara | Scor | 0 |
| Compilator | cpp-64 | Status | done |
| Runda | Arhiva educationala | Marime | 0.75 kb |
#include <iostream>
using namespace std;
int main()
{
long long n,m,a[100001],b[100001];
cin>>n;
for(int i=0;i<n;i++)
{
cin>>a[i];
}
cin>>m;
for(int i=0;i<m;i++)
{
cin >>b[i];
}
int left=0,right=n-1;
for(int y=0;y<m;y++)
{
left=0,right=n-1;
int found=0;
while(left<=right&&found==0)
{
int medium=left+(right-left)/2;
if(a[medium]==b[y])
{
found=1;
cout<<1<<" ";
}
if(a[medium]<b[y])
left=medium+1;
else
right=medium-1;
}
if(!found)
{
cout<<0<<" ";
}
}
return 0;
}