100 Accepted
# | 状态 分数 | 耗时 | 内存占用 |
---|---|---|---|
#0 | Accepted 10 | 49ms | 576 KiB |
#1 | Accepted 10 | 71ms | 536 KiB |
#2 | Accepted 10 | 32ms | 668 KiB |
#3 | Accepted 10 | 44ms | 784 KiB |
#4 | Accepted 10 | 54ms | 620 KiB |
#5 | Accepted 10 | 79ms | 792 KiB |
#6 | Accepted 10 | 21ms | 536 KiB |
#7 | Accepted 10 | 32ms | 684 KiB |
#8 | Accepted 10 | 27ms | 756 KiB |
#9 | Accepted 10 | 35ms | 580 KiB |
代码
#include <bits/stdc++.h>
#define debug(a) cout<<#a<<"="<<a<<"\n";
#define rep(i,a,b) for(int i=a;i<=b;++i)
using namespace std;
const long long N=30001;
long long q[N];
int main(){
int n,m,a;
cin>>n;
rep(i,1,n){
cin>>q[i];
}
cin>>m;
rep(i,1,m){
cin>>a;
int l=1,r=n,b=0;
while(l<r){
int mid=(l+r+1)/2;
if(q[mid]==a){
l=mid;
b=max(b,l);
}
else if(q[mid]>a){
r=mid-1;
}
else{
l=mid+1;
}
}
if(q[l]==a) cout<<l<<" ";
else cout<<"-1 ";
}
return 0;
}
信息
- 递交者
- 题目
- P463 练83.5 二分查找2
- 语言
- C++11
- 代码长度
- 547 Bytes
- 递交时间
- 2024-1-30 10:31:10
- 评测时间
- 2024-1-30 10:32:18
- 分数
- 100
- 总耗时
- 444ms
- 峰值时间
- 79ms
- 峰值内存
- 792 KiB