Run ID 作者 问题 语言 测评结果 时间 内存 代码长度 提交时间
18821 Al. 【二分】数的范围 C++ 解答错误 42 MS 388 KB 514 2023-03-05 11:25:52

Tests(0/10):


#include<bits/stdc++.h> using namespace std; const int N=1e5+5; int a[N]; int main(){ int n,q; cin>>n>>q; for(int i=0;i<n;i++){ cin>>a[i]; } for(int i=0;i<q;i++){ int x; cin>>x; int l=0,r=n-1; while(l<r){ int mid=l+r>>1; if(a[mid]>=x)r=mid; else l=mid+1; } if(a[l]!=x)cout<<"-1 -1"<<endl; else{ cout<<l<<" "; r=n-1; x++; while(l<r){ int mid=l+r>>1; if(a[mid]>=x)r=mid; else l=mid+1; } cout<<l<<endl; } } return 0; }


测评信息: