自己写的 WA TLE
#include<bits/stdc++.h>
using namespace std;
int main()
{
int n, a[100005], Q, b[100005];
cin >> n;
for (int i = 0; i < n; i++)cin >> a[i];
sort(a, a + n);
cin >> Q;
for (int i = 0; i < Q; i++)
{
cin >> b[i];
}
for (int i = 0; i < Q; i++)
{
if (upper_bound(a, a + n, b[i]) - lower_bound(a, a + n, b[i]) == 1)
{
for (int j = 0; j < n; j++)
{
if (a[j] == b[i])
cout << j << endl;
}
}
else cout << 0 << endl;
}
}
用map写的AC了
#include<bits/stdc++.h>
using namespace std;
map<int, int > m;
int t, n;
int main()
{
cin >> n;
for (int i = 1; i <= n; i++)//map的插入操作
{
cin >> t;//t是临时变量,用来接收元素的值
m[t] = i;//i是t这个数值在map 中的索引
}
cin >> n;
for (int i = 1; i <= n; i++)//map的查询操作
{
cin >> t;
if (m.find(t) == m.end())cout << 0 << endl;
else cout << m[t] << endl;
}
}