一直TLE
查看原帖
一直TLE
1396600
WinterRiver楼主2025/2/3 12:15
#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
2025/2/3 12:15
加载中...