数据读取
2016-10-24 19:19
47 查看
#include<cstdio> #include<iostream> #define N 100100 #define ll long long using namespace std; int n,m; ll ans; ll h ,p ; void erfen(ll l,ll r) { if (l>r) return ; bool ff=0; ll mid=(l+r)>>1,maxn; for (int i=1,j=1;i<=n;i++) { if (h[i]-p[j]>mid) break;//若此时的磁头与此时需要扫描的位置大于mid,则最大步数应大于mid if (p[j]<h[i]) { ll k=mid-(h[i]-p[j]); maxn=max(p[j]+k,h[i]+(k>>1));//注意">>"的运算级比+还低,要加括号 } else maxn=h[i]+mid; while (p[j]<=maxn&&j<=m) j++; if (j>m)//此时磁头能够扫完所有需要扫描的位置 { ff=1; break; } } if (ff) ans=mid,erfen(l,mid-1); else erfen(mid+1,r); } int main() { freopen("data.in","r",stdin); freopen("data.out","w",stdout); scanf("%d%d",&n,&m); for (int i=1;i<=n;i++) cin>>h[i];//注意在windows系统下,用scanf("%lld")读取相当于读取int类型的数 //由于noip考试是在linx系统下进行,此时用scanf读入无问题 for (int i=1;i<=m;i++) cin>>p[i]; ll rr=2e10; erfen(0,rr); cout<<ans<<endl; fclose(stdin); fclose(stdout); return 0; }
二分
相关文章推荐
- js读取xml 数据
- ASP链接MYSQL并读取数据的程序
- ASP中从数据库读取二进制文件数据代码
- C#中读取数据库中Image数据
- 从三个关联的数据表中按照分类的方式读取数据
- 非阻塞方式下Socket读取数据的一个例子
- C#中读取数据库中Image数据
- 在java里读取大对象数据
- 继续:.NET CF下面“大”规模数据的读取和保存
- 编程远程读取AB PLC的数据
- 如何把一个图像存储到XML数据中,并读取出来
- ASP链接MYSQL并读取数据的程序
- 于Excel文件上传读取数据的问题
- adonet读取数据
- VC6.0中使用Stream Object读取数据中流文件并显示Bmp,JPG等图片
- /*读取xml数据*/
- 读取内存中的一段数据
- 在 ASP 中读取和显示二进制数据
- oracle读取文本文件的数据,插入到test表中,求助?
- [ASP.net]从数据库中读取数据自动生成XML