读书好多读书读好书(技巧题,水)
来源:互联网 发布:手机看本子的软件 编辑:程序博客网 时间:2024/05/01 18:54
题目来源:https://www.jisuanke.com/contest/753
【题意、代码】
给出一个时间t,有n本书,各自拥有一个时间耗费值,并且,如果,选定一本i书开始看,那么之后依次看i+1,i+2。。。
问有限的时间内最多看几本书。
思路就是预处理前缀和,从最开始开始遍历,依次把前缀和加上t,二分查找他们的和处在前几项和,依次更新maxx值。
【代码】
#include<set>#include<map>#include<stack>#include<cmath>#include<queue>#include<cstdio>#include<string>#include<cstring>#include<iostream>#include<limits.h>#include<algorithm>#define mem(a,b) memset(a,b,sizeof(a))using namespace std;const int mod=1e4;typedef unsigned long long ll;typedef long long LL;LL a[100000+10];int E_F(int l,int r,LL x){ while(l<r) { int mid=(l+r+1)/2; if(a[mid]>x) r=mid-1; else if(a[mid]<x) l=mid; else return mid; } return l;}int main(){ int n; LL t; while(~scanf("%d%lld",&n,&t)) { mem(a,0); for(int i=1;i<=n;i++) { scanf("%lld",&a[i]); a[i]+=a[i-1]; } int maxx=0; for(int i=0;i<n;i++) { LL sum=t+a[i]; int pos=E_F(0,n,sum); if(pos-i>maxx) maxx=pos-i; } printf("%d\n",maxx); }}
阅读全文
0 0
- 读书好多读书读好书(技巧题,水)
- 多读书 读好书
- 多读书,读好书
- 读书--好书
- excle中字符串选取#好读书,读好书#--好读书,读好书
- 读书
- 读书
- 读书
- 读书
- 读书
- 读书
- 读书
- 读书
- 读书
- 读书
- 读书
- 读书
- 读书
- hdu1224—Free DIY Tour(Bellman_Ford)
- 《UNIX网络编程 卷1》 笔记: 非阻塞式I/O
- OpenGL 入门基础教程 —— 基本术语篇【1】
- VS部署发布失败解决方法
- angularJs中$scope数据序列化
- 读书好多读书读好书(技巧题,水)
- 利用scrapy爬取新浪体育新闻的小例子
- restfun_api设计指南
- 安装测试facebook FAISS(CPU)
- 解决 eclipse移植androidstudio Could not determine 的问题
- 阿里云centos7.3安装tomcat8
- caffe网络结构图绘制
- 解决一切listview或者adapter等类似的数据错误,点击错误的问题。
- 用Inno Setup来解决.NetFramework安装问题