2 条评论

  • @ 2026-4-21 20:02:17

    #include<bits/stdc++.h> using namespace std; long long n,m,x,a[100005],s,l=1,r; map<long long,int>b; int main(){ cin>>n; for(int i=1;i<=n;i++)cin>>a[i]; sort(a+1,a+n+1); cin>>m; while(m--){ cin>>s; l=1;r=n; while(l<=r){ int mid=(l+r)/2; if(a[mid]==s){ cout<<mid<<endl; break; } if(a[mid]>s)r=mid-1; else l=mid+1; } } return 0; }

    • @ 2026-4-21 20:00:36

      #include<bits/stdc++.h> using namespace std; long long x,y,n,m,a[100005],s,l,r,ans; int main(){ cin>>n; for(int i=1;i<=n;i++)cin>>a[i]; sort(a+1,a+n+1); cin>>m; while(m--){ cin>>x>>y; if(x>y)swap(x,y); l=1;r=n; int p; while(l<=r){ int mid=(l+r)/2; if(a[mid]<x)l=mid+1; else r=mid-1; } p=l; l=1;r=n; while(l<=r){ int mid=(l+r)/2; if(a[mid]>y)r=mid-1; else l=mid+1; }cout<<r-p+1<<endl; } return 0; }

      • 1