5 条题解
-
1
虽然只有一种味,但真的很 鲜~
向日葵味
#include<bits/stdc++.h> using namespace std; int n, m; int a[10000005]; int main(){ cin >> n >> m; for(int i=1; i<=n; i++){ cin >> a[i]; } for(int i=1; i<=m; i++){ int ans; cin >> ans; int l = 1, r = n, res = -1; while (l <= r) { int mid = (l + r) / 2; if (a[mid] == ans) { res = mid; r = mid - 1; } else if (a[mid] < ans) { l = mid + 1; } else { r = mid - 1; } } cout << res << "\n"; } return 0; } -
0
#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
- 标签
- 递交数
- 116
- 已通过
- 27
- 上传者