11 条题解

  • 0
    @ 2025-3-18 20:21:36

    #include <bits/stdc++.h> using namespace std; #define int long long int a[100005],n,q,i,x,j,h; int check(int m,int l,int r) { ** if(l>r)** return -1; ** int mid=(l+r)/2;** ** if(m==a[mid])** return mid; ** else if(m<a[mid])** ** return check(m,l,mid-1);** ** else ** return check(m,mid+1,r); } signed main() { ** cin>>n>>q;** ** for(i=0;i<n;i++)** ** cin>>a[i];** ** for(i=0;i<q;i++)** ** { ** cin>>x; ** int t=check(x,0,n-1);** ** if(t>=0)** ** { ** for(j=t+1;j<n;j++) ** { ** if(a[j]!=a[t]) ** break;** ** } ** for(h=t-1;h>=0;h--) ** { ** if(a[h]!=a[t]) ** break;** ** } ** cout<<h+1<<' '<<j-1<<endl; ** } ** else ** cout<<-1<<' '<<-1<<endl;** ** } ** return 0; }

    信息

    ID
    88
    时间
    1000ms
    内存
    256MiB
    难度
    7
    标签
    递交数
    1250
    已通过
    290
    上传者