2 solutions
-
2
#include<bits/stdc++.h> using namespace std; const int N=1e5+10; int a[N]; int main() { int n; cin>>n; for(int i=1;i<=n;i++) { cin>>a[i]; } int q; cin>>q; for(int i=1;i<=q;i++) { int x; cin>>x; int l=1,r=n; while(l<r) { int mid=(l+r+1)/2; if(a[mid]<=x) l=mid; else r=mid-1; } if(a[r]!=x) cout<<-1<<" "; else cout<<r<<" "; } return 0; } -
0
#include<bits/stdc++.h> using namespace std; int n,a[100005]; int main() { cin>>n; for(int i=1;i<=n;i++){ cin>>a[i]; } int e;cin>>e; for(int i=1;i<=e;i++){ int x;cin>>x; int l=1,r=n; while(l<r){ int mid=(r+l+1)/2; if(a[mid]<=x) l=mid; else r=mid-1; } if(a[l]==x) cout<<l<<" "; else cout<<"-1"<<" "; } return 0; }
- 1
Information
- ID
- 139
- Time
- 1000ms
- Memory
- 128MiB
- Difficulty
- 3
- Tags
- (None)
- # Submissions
- 101
- Accepted
- 41
- Uploaded By