Run ID | 作者 | 问题 | 语言 | 测评结果 | 分数 | 时间 | 内存 | 代码长度 | 提交时间 |
---|---|---|---|---|---|---|---|---|---|
346429 | 钟宜辰 | 【C6-8】起止位置 | C++ | 运行超时 | 60 | 1000 MS | 360 KB | 688 | 2025-09-07 11:40:33 |
#include<bits/stdc++.h> using namespace std; int n,a[100086],x,cnt=-1,cnt1=-1,q; int fd(int x){ int l=1,r=n,mid; while(l<=r){ mid=(l+r)>>1; if(a[mid]>=x){ r=mid-1; } else{ l=mid+1; } } if(a[l]==x){ return l; } else{ return -1; } } int fx(int x){ int l=1,r=n,mid; while(l<=r){ mid=(l+r)>>1; if(a[mid]>x){ r=mid-1; } else{ l=mid+1; } } if(a[r]==x){ return r; } else{ return -1; } } int main(){ scanf("%d %d",&n,&q); for(int i=1;i<=n;i++){ scanf("%d",&a[i]); } sort(a+1,a+n+1); for(int i=1;i<=q;i++){ scanf("%d",&x); printf("%d %d",fd(x),fx(x)); cout<<endl; } return 0; }