遍历1遍,按照输入的x和y值锁定中心和范围扫描,扫描的数必须比中心的那个数还大,按照题意其实很容易就可以完成代码
#include<bits/stdc++.h>
using namespace std;
int t,a,b,s[100050];
int fun(int i)
{
int aa=a,bb=b;
if(i-aa<1)aa=i-1;
if(i+bb>t)bb=t-i;
for(int j=i-aa;j<=i+bb;j++){
if(j==i)continue;
if(s[j]<=s[i])return 0;
}
return i;
}
int main()
{
int i,k,j;
while(cin>>t)
{
int ans,y=0,min=1e8,io;
cin>>a>>b;
for(i=1;i<=t;i++)cin>>s[i];
for(i=1;i<=t;i++){
if(fun(i)){
cout<<fun(i)<<endl;
break;
}
}
}
}