http://acm.hdu.edu.cn/showproblem.php?pid=4710

【code】:

 #include <iostream>
#include <cstdio>
#include <cstring>
#include <cmath> using namespace std;
#define N 1000151 int prim[N+];
int hash[];
int mark[];
int cjsb[];
int hash_cnt=;
int lowbit(int i)
{
return i&-i;
}
void add(int i,int a)
{
while(i<=N)
{
cjsb[i]+=a;
i+=lowbit(i);
}
}
int sum(int i)
{
int s=;
while(i>)
{
s+=cjsb[i];
i-=lowbit(i);
}
return s;
}
int main()
{
int i,j;
hash_cnt=;
for(i=;i<=N;i++)
{
if(!prim[i])
{
hash[hash_cnt++]=i;
for(j=;j*i<=N;j++)
{
prim[j*i]=;
}
}
}
// cout<<hash_cnt<<" "<<hash[hash_cnt-1]<<endl;
int tou=;
memset(cjsb,,sizeof(cjsb));
for(i=;i<hash_cnt;i++)
{
for(j=;j<=i-;j++)
{
int temp = hash[i]-hash[j];
if(temp<=tou)
break;
if(mark[temp]) continue;
else
{
mark[temp] = hash[i];
add(temp,);
if(sum(temp)==temp/)
tou=temp;
}
}
}
int n;
scanf("%d",&n);
while(n--)
{
int m;
scanf("%d",&m);
if(m==)
{
puts("2 2");
continue;
}
if(m<)
{
m=-m;
printf("%d %d\n",mark[m]-m,mark[m]);
}
else
{
printf("%d %d\n",mark[m],mark[m]-m);
}
}
return ;
}

最新文章

  1. RichTextBox实现鼠标右键(剪切,复制,粘贴)功能
  2. 在Linux上配置xampp后远程访问域名报错
  3. 【BZOJ】1087: [SCOI2005]互不侵犯King(状压dp)
  4. jquery选择器之层级过滤选择器
  5. 360路由器+花生壳实现外网访问SVN服务器
  6. JDK8新特性一览
  7. verdi\debussy的使用技巧
  8. ASP.NET基础知识汇总之WebConfig各节点介绍
  9. 使用PLSQL导出表
  10. svn离线安装以及配置,管理python自动化脚本
  11. Vue组件之间数据交互与通信
  12. 深入理解this,bind、call
  13. FSDB Dumper
  14. sessionStorage在项目中的应用
  15. netty源码理解补充 之 DefaultChannelPipeline到底是个啥
  16. [ios]&quot;The identity used to sign the executable is no longer valid&quot;错误解决方法
  17. ASP.NET MVC4 Razor
  18. Django ORM字段类型 单表增删改查 万能的双下划线
  19. Python3 item系列
  20. libvirt网络过滤规则简单总结

热门文章

  1. Linux 内核模块设计
  2. Jersey(1.19.1) - Client API, Testing services
  3. MyBatis(3.2.3) - ResultMaps: Extending ResultMaps
  4. Asp_CRUD
  5. jQuery性能优化(转)
  6. 第四篇、CocoaPods 镜像的更新 原来的淘宝镜像已经不再更新
  7. Cocoa框架中的内存分区
  8. 《HTML5网页开发实例详解》连载(四)HTML5中的FileSystem接口
  9. will VS be going to
  10. CAF(C++ actor framework)使用随笔(延迟发送,消息转发,消息优先级)(四)