C题双指针做法 75% TLE 求助
#include<bits/stdc++.h> using namespace std; #define PI 3.141****53589 #define int long long const int N=2e5+10,mod=1e9+7; int a[N]; signed main(){ int n;cin>>n; for(int i=1;i<=n;i++){ // cin>>a[i]; scanf("%d",&a[i]); } int x;cin>>x; // cout<<x<<endl; int cnt=1; if(n==1){ cout<<1; return 0; } else { for(int i=2,j=n+1;i<=j;i++){ int t=j; cnt++; while(a[t]<=x&&t>i) t--;//找到当前x左边第一个比他大的数字 if(a[t]>x){ a[t]=x; j=t; } } cout<<cnt<<endl; } return 0; }