博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
[UVALive 2678] Subsequence
阅读量:6307 次
发布时间:2019-06-22

本文共 1128 字,大约阅读时间需要 3 分钟。

图片加载可能有点慢,请跳过题面先看题解,谢谢

1196604-20171011151850496-1334327062.png
1196604-20171011151855887-222138114.png

在切水题的道路上狂奔,一发不可收拾。。。

这道题好像不用写什么题解吧,吐个槽什么的算了

一眼题,大佬们都不屑于做,只有我这种弱菜才来写这种题目玩儿

记个前缀和,直接二分一个长度, \(XJB\) 搞一下就好了

思考时间: \(1s\) ,代码时间 \(1min\)

//made by Hero_of_Someone#include
#include
#include
#include
#define ll long long#define il inline#define RG registerusing namespace std;il int gi(){ RG int x=0,q=1; RG char ch=getchar(); while( ( ch<'0' || ch>'9' ) && ch!='-' ) ch=getchar(); if( ch=='-' ) q=-1,ch=getchar(); while(ch>='0' && ch<='9') x=x*10+ch-48,ch=getchar(); return q*x; }int T,n,s,a[100010];ll sum[100010];il void init(){ memset(sum,0,sizeof(sum)); for(RG int i=1;i<=n;i++) a[i]=gi(); for(RG int i=1;i<=n;i++) sum[i]=sum[i-1]+a[i];}il bool ck(int len){ for(RG int i=len;i<=n;i++) if(sum[i]-sum[i-len]>=s) return 1; return 0;}il void work(){ RG int l=1,r=n,ans=0; while(l<=r){ RG int mid=(l+r)>>1; if(ck(mid)) ans=mid,r=mid-1; else l=mid+1; } printf("%d\n",ans);}int main(){ while(scanf("%d%d",&n,&s)!=EOF){ init(); work(); } return 0; }

转载于:https://www.cnblogs.com/Hero-of-someone/p/7650815.html

你可能感兴趣的文章
handler,message,looper学习笔记
查看>>
Windows 下 Nginx + PHP5 的安装与配置
查看>>
maven笔记
查看>>
Ants (POJ 1852)
查看>>
redis desktop manager 使用
查看>>
12/4 站立会议
查看>>
mac之sourcetree安装与使用(转载)
查看>>
使用SecureCRT工具部署项目
查看>>
powershell相关
查看>>
判断某个字符串中是否存在某些字符
查看>>
常用的正则表达式一览
查看>>
构造方法的注入
查看>>
Spring的自动装配
查看>>
e.target与事件委托简例
查看>>
摄影原理
查看>>
Eclipse 各版本说明
查看>>
NSFileManager文件管理
查看>>
[elk]elasticsearch实现冷热数据分离
查看>>
【luogu 3373】【模板】线段树2
查看>>
javascript获取图片大小和图片等比缩放
查看>>