竞赛
考级
要在一个有序序列中查找第一个大于等于 xxx 的数,可以使用二分算法。
AC君
浅夏.山橘月
#include <bits/stdc++.h> using namespace std; int n,x; int a[105]; int main(){ cin>>n; for(int i=1;i<=n;i++) cin>>a[i]; cin>>x; int l=1,r=n,ans; while(l<=r){ int mid=(l+r)/2; if(a[mid]>=x){ ans=mid; r=mid-1; }else{ l=mid+1; } } cout<<ans; return 0; }
小蒟蒻
参考A8021
枫原万叶
lower_bound秒了
四斋臻瞎投
我爱原神,代码:
AC
/* */ #include <iostream> using namespace std; int main(){ int n,a[1000],cnt=0,x; cin>>n; for(int i=1;i<=n;i++){ cin>>a[i]; } cin>>x; int i=1,j=n; while(i<j){ }
不想考试!
《 能 做 就 行 》
毛奕程
复仇者_THUNDER
改个条件就行
LR400BF-5033
#include <iostream> using namespace std; int a[110]; int main() { int n, x, ans = -1; cin >> n; for (int i = 1; i <= n; i++) cin >> a[i]; cin >> x; int l = 1, r = n; while (l <= r) { int mid = (l + r) / 2; if (a[mid] >= x) { r = mid - 1; ans = mid; } else { l = mid + 1; } } cout << ans; return 0; }
氮氧氢氦氩氖氪氙氡氟氯
A(Hello world!)
枫岚
#include<bits/stdc++.h> using namespace std; int main(){ int n,a[110]={},x; cin>>n; for(int i=1;i<=n;i++) cin>>a[i]; cin>>x; int t=lower_bound(a+1,a+n+1,x)-a; cout<<t; return 0; }
芙莉莲