把可爱值大的放进去一个数组
在来个j=1作开头,猫的位置在n+1
先跳跃 判断是否能跳 非空且不超限
然后j++ sum++
#include <iostream>
#include<vector>
#include<algorithm>
#include <ratio>
using namespace std;
const int N=2e5+10;
struct state{
int id;
int aixin;
};
int a[N],b[N];
int main() {
ios::sync_with_stdio(false);
cin.tie(nullptr);
int n;
cin>>n;
state a[n+1];
int sum=0;
for(int i=1;i<=n;i++){
a[i].id=i;
int k;
cin>>k;
a[i].aixin=k;}
int m;
cin>>m;
vector<state> b;
for(int i=1;i<=n;i++){
if(a[i].aixin>m){
b.push_back(a[i]);
}
}
int j=1;
int now=n+1;
while(now>=j){
if(!b.empty()&&b.back().id>=j){
now=b.back().id;
b.pop_back();
}
j++;
sum++;
}
cout<<sum;
return 0;
}

京公网安备 11010502036488号