HNUCM-OJ Problem 1614 幸运数 模拟 最短子段和
发布日期:2021-06-29 14:31:45
浏览次数:3
分类:技术文章
本文共 826 字,大约阅读时间需要 2 分钟。
题目描述
众所周知,不管是人还是熊都需要人品。于是乎,为了给自己找一个幸运数字,Mavis 学习了人类的阿拉伯数字,并不知从哪儿弄来了一串序列和一个 S,Mavis 说:“长度最短且和大于等于 S 的连续子段的长度, 就是俺的幸运数字”!
但是 Mavis 只会喊口号,不会解决问题,所以这个问题就交给你了。
输入
输入文件共三行。第一行输入仅一个正整数 n,意义如题所述。( n ≤ 4000000, ai ≤ 10^9)
第二行输入 n 个正整数 ai,表示序列中的元素。
第三行输入仅一个正整数 S,意义如题所述。
每两个输入的数之间都用一个空格隔开。
输出
输出文件仅一行一个整数,表示幸运数。样例输入
8 4 12 10 18 17 10 17 17 40样例输出
3思路
题目求大于或者等于S的最短子段和,输出最短长度,模拟即可,遍历找出大于或者等于S的区间,然后求出最短区间即可。
代码
#includeusing namespace std;typedef long long ll;const int maxn=5e6+5;ll a[maxn],n,sum;int main(){ ios::sync_with_stdio(false); cin.tie(0); cin>>n; for(int i=1;i<=n;i++) cin>>a[i]; cin>>sum; ll res=0,cc=maxn; ll s=1,k=1; while(k<=n){ while(res =sum){ cc=min(cc,k-s); res-=a[s++]; } } cout< <
学如逆水行舟,不进则退
转载地址:https://chocolate.blog.csdn.net/article/details/105032571 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!
发表评论
最新留言
很好
[***.229.124.182]2024年04月30日 03时14分06秒
关于作者
喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
基于SSM的仿小米商城源码
2019-04-29
基于SSM的医院人事管理系统的设计与实现
2019-04-29
基于SSM的网上购物系统的设计与开发
2019-04-29
基于SSM框架的BS微博系统的设计与实现
2019-04-29
超市订单管理系统
2019-04-29
基于ssm的民宿网站
2019-04-29
基于JavaWeb的物流管理系统的设计与实现
2019-04-29
基于Java的飞机大战游戏的设计与实现论文
2019-04-29
基于java实现的超级马里奥游戏
2019-04-29
keepalived 实现高可用,负载均衡
2019-04-29
linux发送邮件通知
2019-04-29
linux不删除文件:替换rm命令
2019-04-29
Centos6 搭建lnmp环境
2019-04-29
Hbase优化:使用压缩snappy,lz4
2019-04-29
maven 安装第三方jar包到本地仓库
2019-04-29
hbase数据结构模型
2019-04-29
Shell编程:return 返回脚本调用的状态码
2019-04-29
Hbase Shell 调用java代码:通过比较器,强过滤查询
2019-04-29
Linux防删除,恢复删除
2019-04-29
linux: shell脚本日常功夫
2019-04-29