3 条题解
-
0
打表+二分 时间O(log n)
#include<bits/stdc++.h> using namespace std; char ch; inline int read(){ int ans=0; ch=getchar(); while(ch<'0'||ch>'9')ch=getchar(); while(ch>='0'&&ch<='9') ans=(ans<<1)+(ans<<3)+(ch^'0'),ch=getchar(); return ans; } int a[]={0,23,128,233,338,443,548,653,758,863,968,1073,1178,1283,1388,1493,1598,1703,1808,1913}; int main(){ int n=read(),l=0,r=19; while(l<r){ int mid=r-(r-l>>1); if(n>=a[mid])l=mid; else r=mid-1; } cout<<l; return 0; }
信息
- ID
- 56
- 时间
- 1000ms
- 内存
- 16MiB
- 难度
- 3
- 标签
- 递交数
- 75
- 已通过
- 43
- 上传者