1 条题解
-
0
#include<bits/stdc++.h> using namespace std; int a[1000010]; int main(){ int m; cin>>m; for(int i=1;i<=m;i++){ cin>>a[i]; } int t; cin>>t; while(t--){ int x; cin>>x; int l,r,mid; l=1; r=m; int s=-1; while(r-l>1){ mid=(l+r)/2; if(x==a[mid]){ s=mid; break; }else if(x>a[mid]){ l=mid; }else{ r=mid; } } if(a[1]==x){ s=1; }else if(a[m]==x){ s=m; } while(s>=1 && a[s-1]==a[s]){ s--; } cout<<s<<" "; } return 0; }
信息
- ID
- 398
- 时间
- 1000ms
- 内存
- 128MiB
- 难度
- 8
- 标签
- 递交数
- 91
- 已通过
- 16
- 上传者