CSP/信奥赛C++刷题训练:经典前缀和例题(2):洛谷P6568:水壶

news/2024/10/30 7:46:00/

CSP/信奥赛C++刷题训练:经典前缀和例题(2)

[NOI Online #3 提高组] 水壶

在这里插入图片描述

题目描述

n n n 个容量无穷大的水壶,它们从 1 ∼ n 1\sim n 1n 编号,初始时 i i i 号水壶中装有 A i A_i Ai 单位的水。

你可以进行不超过 k k k 次操作,每次操作需要选择一个满足 1 ≤ x ≤ n − 1 1\le x\le n-1 1xn1 的编号 x x x,然后把 x x x 号水壶中的水全部倒入 x + 1 x+1 x+1 号水壶中。

最后你可以任意选择恰好一个水壶,并喝掉水壶中所有的水。现在请你求出,你最多能喝到多少单位的水。

输入格式

第一行一个正整数 n n n,表示水壶的个数。

第二行一个非负整数 k k k,表示操作次数上限。

第三行 n n n 个非负整数,相邻两个数用空格隔开,表示水壶的初始装水量 A 1 A_1 A1, A 2 A_2 A2, ⋯ \cdots , A n A_n An

输出格式

一行,仅一个非负整数,表示答案。

样例 #1

样例输入 #1

10
5
890 965 256 419 296 987 45 676 976 742

样例输出 #1

3813

提示

数据规模与约定
  • 对于 10 % 10\% 10% 的数据,保证 n ≤ 10 n \leq 10 n10
  • 对于 30 % 30\% 30% 的数据,保证 n ≤ 100 n \leq 100 n100
  • 对于 50 % 50\% 50% 的数据,保证 n ≤ 1 0 3 n \leq 10^3 n103
  • 对于 70 % 70\% 70% 的数据,保证 n ≤ 1 0 5 n \leq 10^5 n105
  • 对于 100 % 100\% 100% 的数据,保证 1 ≤ n ≤ 1 0 6 1\leq n\leq 10^6 1n106 0 ≤ k ≤ n − 1 0\leq k \leq n-1 0kn1 0 ≤ A i ≤ 1 0 3 0\le A_i\le 10^3 0Ai103

使用前缀和解题

#include<bits/stdc++.h>
using namespace std;
//前缀和 
const int N=1e6+10;
int n,k,a[N],q[N],ans;//q数组存前缀和 
int main(){cin>>n;cin>>k;for(int i=1;i<=n;i++){cin>>a[i];q[i]=q[i-1]+a[i];//初始化前缀和 } for(int i=1;i<=n-1;i++){//前缀和找最大区间和 ans=max(ans,q[i+k]-q[i-1]); }cout<<ans;return 0;
}

文末彩蛋:

点击王老师青少年编程主页有更多精彩内容


http://www.ppmy.cn/news/1543044.html

相关文章

【SSM详细教程】-14-SpringAop超详细讲解

精品专题&#xff1a; 01.《C语言从不挂科到高绩点》课程详细笔记 https://blog.csdn.net/yueyehuguang/category_12753294.html?spm1001.2014.3001.5482 02. 《SpringBoot详细教程》课程详细笔记 https://blog.csdn.net/yueyehuguang/category_12789841.html?spm1001.20…

手机备忘录怎么导出到电脑,

在忙碌的现代生活中&#xff0c;我们常常需要在手机和电脑之间切换工作&#xff0c;手机里的备忘录记录了我们的重要事项&#xff0c;有时候需要在电脑端查看和处理。那么&#xff0c;如何将手机备忘录的内容导出到电脑呢&#xff1f;其实&#xff0c;这个问题的解决方法并不复…

踩坑:关于使用ceph pg repair引发的业务阻塞

概述 在某次故障回溯中&#xff0c;发现引发集群故障&#xff0c;slow io&#xff0c;pg stuck的罪魁祸首竟是做了一次ceph pg repair $pgid。然而ceph pg repair作为使用频率极高的&#xff0c;用来修复pg不一致的常用手段&#xff0c;平时可能很少注意其使用规范和可能带来的…

Uniapp使用UviewPlus在APP当中进行文件上传的解决方案

Uniapp使用UviewPlus在APP当中进行文件上传的解决方案 吐槽&#xff1a;真的可以不用就不要用uniapp&#xff0c;就像s一样&#xff0c;可以的话上Recat好很多&#xff0c;踩了很多坑。 原因 如果你是axios的忠实奴隶那么你会遇到第一个坑&#xff0c;就是uniapp下的原生编译不…

Rust 程序设计语言学习——高级特性

RUST 中常用部分学习结束之后&#xff0c;我们来接触一些 RUST 中的其他高级用法。 不安全 Rust&#xff1a;用于当需要舍弃 Rust 的某些保证并负责手动维持这些保证高级 trait&#xff1a;与 trait 相关的关联类型&#xff0c;默认类型参数&#xff0c;完全限定语法&#xff…

【C语言】预处理(预编译)详解(下)(C语言最终篇)

文章目录 一、#和##1.#运算符2.##运算符 二、预处理指令#undef三、条件编译1.单分支条件编译2.多分支条件编译3.判断符号是否被定义4.判断符号是否没有被定义 四、头文件的包含1.库头文件的包含2.本地头文件的包含3.嵌套包含头文件的解决方法使用条件编译指令使用预处理指令#pr…

分布式 ID 生成策略(二)

在上一篇文章&#xff0c;分布式 ID 生成策略&#xff08;一&#xff09;&#xff0c;我们讨论了基于数据库的 ID 池策略&#xff0c;今天来看另一种实现&#xff0c;基于雪花算法的分布式 ID 生成策略。 如图所示&#xff0c;我们用 41 位时间戳 12 位机器 ID 10 位序列号&a…

使用 Kibana 将地理空间数据导入 Elasticsearch 以供 ES|QL 使用

作者&#xff1a;来自 Elastic Craig Taverner 如何使用 Kibana 和 csv 采集处理器将地理空间数据采集到 Elasticsearch 中&#xff0c;以便在 Elasticsearch 查询语言 (ES|QL) 中进行搜索。Elasticsearch 具有强大的地理空间搜索功能&#xff0c;现在 ES|QL 也具备这些功能&am…