二分一下就行了 void solve(){ int n,q; cin>>n>>q; int a[n+1]; for(int i=1;i<=n;i++){ cin>>a[i]; } sort(a+1,a+n+1); for(int i=1;i<=q;i++){ int x,y; cin>>x>>y; int L=1,R=n; int p2=-1,p1=-1; while(L<=R){ int mid=(L+R)/2; if(a[mid]<=y){ p2=mid; L=mid+1; }else{ R=mid-1; ...