问题链接(https://codeforces.com/problemset/problem/1199/A)
问题描述
给n,x,y,以及这n天的下雨量ai。要找一天(下标为)d,要求这一天的下雨量是这一天前x天到后y天的下雨量中最小的。输出最早的(下标最小的)d。保证答案一定存在。
问题分析
因为x,y的最大可能值为7,很小,所以直接遍历去找即可。注意处理好边界问题。
代码如下
#include<bits/stdc++.h>
using namespace std;
int main(){
ios::sync_with_stdio(false),cin.tie(0),cout.tie(0);
bool flag;
int n,i,j,x,y;
cin>>n>>x>>y;
vector<int> a(n);
for(i=0;i<n;i++) cin>>a[i];
for(i=0;i<n;i++){
flag=1;
for(j=max(i-x,0);j<i;j++){
if(a[j]<a[i]){
flag=0;
break;
}
}
if(!flag) continue;
for(j=min(i+y,n-1);j>i;j--){
if(a[j]<a[i]){
flag=0;
break;
}
}
if(flag){
cout<<i+1<<endl;
return 0;
}
}
return 0;
}