AcWing 789. 数的范围
原题链接
简单
作者:
shine_4
,
2019-05-31 22:56:38
,
所有人可见
,
阅读 741
空间换时间
C++ 代码
#include <iostream>
#include <memory.h>
using namespace std;
const int N=1000010,M=10010;
int a[N],q[N],Start[N],End[N],isFirst[N]={0};
int main()
{
int n,m;
ios::sync_with_stdio(false);
cin>>n>>m;
for(int i=0;i<n;i++) cin>>a[i];
for(int i=0;i<m;i++) cin>>q[i];
memset(Start, 0xff, N * sizeof(int));
memset(End, 0xff, N * sizeof(int));
for(int i=0;i<n;i++)
{
if(isFirst[a[i]]==0) isFirst[a[i]]=1,Start[a[i]]=i;
if(i>End[a[i]]) End[a[i]]=i;
}
for(int i=0;i<m;i++) cout<<Start[q[i]]<<' '<<End[q[i]]<<endl;
return 0;
}