hdu_4430,二分
2024-08-31 13:28:59
注意处理溢出
#include<iostream>
#include<cstdio>
#include<cstring>
#include<algorithm>
using namespace std;
long long n;
long long a[60][2];
int k;
int fun(long long y,int x)
{
long long cnt=0,cur=1;
for(int i=1; i<=x; i++)
{
if(n/cur<y) return 1;
cur*=y;
cnt+=cur;
if(cnt>n)
{
return 1;
}
}
if(cnt==n-1||cnt==n)
{
a[k][0]=y;
a[k][1]=x;
k++;
return 0;
}
if(cnt<n)
{
return 2;
}
}
void solve(int x)
{
long long lb=1,ub=n;
while(ub-lb>1)
{
long long mid=(ub+lb)/2;
if(fun(mid,x)==0) break;
else if(fun(mid,x)==1)
{
ub=mid;
}
else lb=mid;
}
}
int main()
{
while(cin>>n)
{
memset(a,0,sizeof(a));
k=0;
for(int i=0; i<60; i++)
{
solve(i);
}
long long ans=a[0][0]*a[0][1];
long long x=a[0][0],y=a[0][1];
for(int i=0; a[i][0]!=0; i++)
if(a[i][0]*a[i][i]<ans)
{
ans=a[i][0]*a[i][1];
x=a[i][0];
y=a[i][1];
}
printf("%I64d %I64d\n",y,x);
}
return 0;
}
最新文章
- c# String.Join 和 Distinct 方法 去除字符串中重复字符
- [工作中的设计模式]备忘录模式memento
- QT多线程及通过事件进行通信(通过自定义事件,然后QApplication::postEvent给主界面,我之前用的是信号槽)
- 測试之路2——对照XML文件1
- webpack2进阶之多文件,DLL,以及webpack-merge
- NIO笔记---上
- SpringBoot+MyBatis+MySQL读写分离
- [SimplePlayer] 实现一个简单的播放器
- JavaWeb学习(一)———JavaWeb入门
- Java实验二
- oracle 11g 安装及netca,dbca乱码之解决
- spark on yarn 无法提交任务问题
- MVC 二级联动
- 元类应用ORM实现
- Cracking The Coding Interview4.3
- 附001.etcd配置文件详解
- RabbitMQ--学习资源汇
- sql server 2000 错误229 拒绝了对象sysobjects 的select 权限
- IntelliJ IDEA自定义类和方法注解模板
- 「小程序JAVA实战」小程序我的个人信息-注销功能(42)
热门文章
- Mysql数据库事务的隔离级别和锁的实现原理分析
- 2015级C++第2周实践项目
- Oracle性能分析1:开启SQL跟踪和获取trace文件
- CF 567C(Geometric Progression-map)
- linux下开发,解决cocos2d-x中编译出现的一个小问题, undefined reference to symbol &;#39;pthread_create@@GLIBC_2.2.5&;#39;
- 【从零之六&;amp;完结】android口语对话系统(RavenClaw java版 含所有源代码)
- hdu Escape
- Android使用有道翻译API实如今线翻译功能
- BOOL的getter方法
- eclipse启动错误:An internal error occurred during: ";reload maven project";.