小G的排列

    xiaoxiao2022-07-12  143

    #include<iostream> using namespace std; int main() { int n,x,y,a[100005],pos[100002],i,maxn=-1,minn=0x3f3f3f3f,l,r; cin>>n>>x>>y; for(i=1;i<=n;i++) { cin>>a[i]; pos[a[i]]=i; } l=min(pos[x],pos[y]); r=max(pos[x],pos[y]); while(r-l!=maxn-minn) { for(i=l;i<=r;i++) { maxn=max(maxn,a[i]); minn=min(minn,a[i]); } for(i=minn;i<=maxn;i++) { l=min(l,pos[i]); r=max(r,pos[i]); } } cout<<l<<" "<<r; return 0; }
    最新回复(0)