水壶 - NOI Online 3

news/2025/3/31 20:17:28/

目录

题目描述

输入

输出

样例

输入数据 1

输出数据 1

提示

数据规模与约定

----------------------------------------------------------------------------------------------

分析

Code


题目描述

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

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

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

输入

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

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

第三行 n 个非负整数,相邻两个数用空格隔开,表示水壶的初始装水量 A1​,A2​, ⋯, An​。

输出

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

样例

输入数据 1

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

输出数据 1

3813

提示

数据规模与约定

----------------------------------------------------------------------------------------------

分析

        【把 x 号水壶中的水全部倒入 x+1 号水壶中。这样k次操作,你最多能喝到多少单位的水。】关键点是这句话,将x倒入到x+1,实际就是前缀和,将前一个累加到后一个,要想喝最多水,k次操作都必须是连续区间操作才行,这样就转换为区间长度为K的前缀和,为了求区间长度和,实际就是求区间前缀和差分。

    例如 :A1,A2,...,A8

    假设K=5

    前缀和为Sn

    S0=A0

    S1=S0+A1

    S2=S1+A2

     ...

    S8=S7+A8

    那么每连续5个区间的累加和计算如下: (用Sub[]存储)

    Sub[1]=S[5]-S[0]=A5+A4+A3+A2+A1

    Sub[2]=S[6]-S[1]=A6+A5+A4+A3+A2

    Sub[3]=S[7]-S[2]=A7+A6+A5+A4+A3

    Sub[4]=S[8]-S[3]=A8+A7+A6+A5+A4

    最后只要求Sub[]的最大值就大功告成。

Code

     

#include<bits/stdc++.h> 
using namespace std;
long long  n,k,s[1000100],ans;
int main()
{cin >> n >> k;for(int i = 1,x;i <= n;++i){cin >> x;s[i] = s[i - 1] + x;}for(int i = 1;i <= n-k;i++){//枚举区间 ans = max(ans,s[i+k] - s[i-1]);//求最值 }cout << ans << endl;return 0;
}

 

   


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

相关文章

前端开发调试工具推荐与技巧分享

https://blog.csdn.net/chehec2010/article/details/119804381 https://baike.baidu.com/item/XMPP/3430617?fraladdin https://juejin.cn/post/7124620523316707341 前端开发调试工具推荐与技巧分享 vscode插件 驼峰翻译助手 将中文翻译成英文变量名&#xff0c;可选择驼峰或…

ylb-接口8手机号注册

总览&#xff1a; 在web模块下的service包&#xff0c;补充短信接口&#xff08;SmsService&#xff09;&#xff1a;检查用户发送的验证码是否正确 package com.bjpowernode.front.service;public interface SmsService {/*** param phone 手机号* return true&#xff1a;发…

数学建模 插值算法

有问题 牛顿差值也有问题它们都有龙格现象&#xff0c;一般用分段插值。 插值预测要比灰色关联预测更加准确&#xff0c;灰色预测只有2次 拟合样本点要非常多&#xff0c;样本点少差值合适

Effective Java笔记(6)避免创建不必要的对象

一般来说&#xff0c;最好能重用单个对象&#xff0c;而不是在每次需要 的时候就创建一个相同功能的新对象 。 重用方式既快速&#xff0c;又流行 。 如果对象是不可变的&#xff08; immutable ) &#xff08;详见第 17 条&#xff09;&#xff0c;它就始终可以被重用 。 作为…

手机html像素,手机分辨率和网页中的PX是一回事吗?

大家好,我是IT修真院郑州分院第一期的学员胡嘉杰,一枚正直纯洁善良的WEB前端程序员。 今天给大家分享一下,修真院官网CSS任务3,深度思考中的知识点——手机分辨率和网页中的PX是一回事吗? 1.背景介绍 在我们从设计人员那里拿到网页模板时经常要按照模板的尺寸进行网页的代…

液晶屏种类

近年来手机屏幕技术层出不穷&#xff0c;早在几年前&#xff0c;手机上开始使用AMOLED和IPS屏幕&#xff0c;后来有CGS等屏幕&#xff0c;你知道iPhone 5用的什么屏吗&#xff1f;实际上iPhone 5采用的是另一种新型手机屏幕技术&#xff0c;即LTPS低温多晶硅屏&#xff0c;这么…

印度制造能助小米电视取得如小米手机业务的成功么?

在手机业务做到印度智能手机市场第一位的成绩之后&#xff0c;小米计划如法炮制与富士康合作在印度生产小米电视&#xff0c;那么小米电视能如小米手机一样在印度取得卓越的成绩么&#xff1f; 印度电视市场的现实 印度经济逐渐起飞&#xff0c;各类消费电子产品日渐受到印度用…

手机按公式计算机,请问用手机上的自带计算器怎样进行度分秒的计算?

手机上的自带计算器怎样进行度分秒的计算如下所示&#xff1a; 例&#xff1a;把18.69和15.5度转换成度分秒。 先输入18.69---再钩上hyp---再点dms。这时就显示18.4124&#xff0c; 这就是18度41分24秒。 输入15.5---钩上hyp---点dms。显示15.3&#xff0c;就是15度30分。 如…