4 条题解
-
1
#include<bits/stdc++.h> using namespace std; long long a[10000000],b[1000000],n,x,nnn; int main(){ cin >> n >> x; for(int i=0; i<n; i++){ cin >> a[i]; } for(int i=0; i<x; i++){ int l=0,r=n-1,mid=0,ans; bool f=0; cin >> ans; while(l<=r){ mid=(l+r)/2; if(a[mid]==ans){ f=1; r=mid-1; nnn=mid; } if(a[mid]<ans) l=mid+1; else r=mid-1; } if(f==0) cout << -1 << "\n"; else cout << nnn+1 << "\n"; } return 0; }
-
0
1000分,拿走
#include<bits/stdc++.h> using namespace std; const int N=1e5+10; const int INF=0x3f3f3f3f; #define LL long long #define ull unsigned long long int n,m,a[N],ub[114514]; 'int main(){ int anser[594088],sum; cin>>n>>m; for(int i=1;i<=n;i++){ cin>>a[i]; } for(int i=1;i<=m;i++){ cin>>ub[i]; int l=1,r=n; sum=0; while(l<=r){ int mid=(l+r)/2; if(a[mid]==ub[i])'{ sum=mid; r=mid-1; } else if(a[mid]>ub[i]){ r=mid-1; } else{ l=mid+1; } } if(sum){ anser[i]=sum; } else{ anser[i]=-1; } } for(int i=1;i<=m;i++){ cout<<anser[i]<<endl; } return 1; } '
#include<bits/stdc++.h> using namespace std; const int N=1e5+10; const int INF=0x3f3f3f3f; #define LL long long #define ull unsigned long long int n,m,a[N],ub[114514]; int main(){ int ans[594088],sum; cin>>n>>m; for(int i=1;i<=n;i++){ cin>>a[i]; } for(int i=1;i<=m;i++){ cin>>ub[i]; int l=1,r=n; sum=0; while(l<=r){ int mid=(l+r)/2; if(a[mid]==ub[i]){ sum=mid; r=mid-1; } else if(a[mid]>ub[i]){ r=mid-1; } else{ l=mid+1; } } if(sum){ ans[i]=sum; } else{ ans[i]=-1; } } for(int i=1;i<=m;i++){ cout<<ans[i]<<endl; } return 0; } 点赞收藏!!!!
阿妈特拉斯
-
-4
#include<bits/stdc++.h> using namespace std; int main(){ int n,m,a[100001],b[100001],c[100005]; cin>>n>>m; for(int i=1;i<=n;i++){ cin>>a[i]; } for(int i=1;i<=m;i++){ cin>>b[i]; int l=1,r=n,ans=0; while(l<=r){ int mid=(l+r)/2; if(a[mid]==b[i]){ ans=mid; r=mid-1; } else if(a[mid]>b[i]){ r=mid-1; } else{ l=mid+1; } } if(ans==0){ c[i]=-1; } else{ c[i]=ans; } } for(int i=1;i<=m;i++){ cout<<c[i]<<endl; } return 0; } 小鸟
- 1
信息
- ID
- 3098
- 时间
- 1000ms
- 内存
- 256MiB
- 难度
- 2
- 标签
- 递交数
- 96
- 已通过
- 20
- 上传者