#define _CRT_SECURE_NO_WARNINGS
#include<iostream>
#include<vector>
#include<stdio.h>
using namespace std;
int func(int val,vector<int>n,int left,int right)
{
int mid;
mid = left + (right - left)/2;
while (left <= right)
{
if (n[mid] < val)
{
left = mid + 1;
continue;
}
else if (n[mid] > val)
{
right = mid - 1;
continue;
}
if (n[mid] == val)
return mid;
}
return -1;
}
int main()
{
vector<int> matrix_n;
vector<int> matrix_m;
int n, m;
scanf("%d %d", &n, &m);
int temp;
for (int i = 0; i < n; i++)
{
scanf("%d", &temp);
matrix_n.push_back(temp);
}
for (int i = 0; i < m; i++)
{
scanf("%d", &temp);
matrix_m.push_back(temp);
}
vector<int> result;
for (auto i : matrix_m)
{
int left = 0, right = n - 1;
int result_ = func(i, matrix_n, left, right);
if (result_ != -1)
result_++;
result.push_back(result_);
}
bool first = true;
for (auto i : result)
{
if (!first)
{
cout << " ";
}
first = false;
printf("%d", i);
}
return 0;
}
```cpp