P1851 成熟的数列

复制代码
#include<iostream>
#include<algorithm>//lower_bound函数
using namespace std;
typedef long long ll;
const int N = 1e6+5;
int n,z;
ll num[N];
int main()
{
cin>>num[0]>>num[1];
cin>>z;
for(int i=2;i<=z;i++) num[i]=num[i/2]+num[i/4];
cin>>n;
while(n--)
{
ll t;
cin>>t;
auto ans=lower_bound(num,num+z,t)-num;//得到下标
if(num[ans]==t) cout<<ans<<endl;
else cout<<-1<<endl;
}
return 0;
}
复制代码

 

posted @   刘海烽  阅读(190)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律
点击右上角即可分享
微信分享提示