今日小技巧:不仅map会对内部进行排序,set也可以哦
所以我们直接将每个id的装进对应的set然后一一枚举即可
#include<iostream>
#include<set>
using namespace std;
const int N=1e6+10;
set<int>hp[N];
int n,k;
int main()
{
cin>>n>>k;
for(int i=1;i<=n;i++)
{
int x;
cin>>x;
hp[x].insert(i);
}
int res=-1;
for(int i=1e6+2;i>=0;i--)
{
if(hp[i].size()==0||hp[i].size()==1)continue;
int last=-1;
for(auto y:hp[i])
{
if(last!=-1)
{
if(y-last<=k)
{
cout<<i;
return 0;
}
last=y;
}
else last=y;
}
}
cout<<"-1";
return 0;
}