zoukankan      html  css  js  c++  java
  • 题解 P6568 【[NOI Online #3 提高组]水壶】

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

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

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

    显然答案 (=) 长度为 (k+1) 的区间和中的最大值。

    #include <bits/stdc++.h>
    using namespace std;
    typedef long long ll;
    template<typename T>inline void read(T &FF){
    	T RR=1;FF=0;char CH=getchar();
    	for(;!isdigit(CH);CH=getchar())if(CH=='-')RR=-1;
    	for(;isdigit(CH);CH=getchar())FF=(FF<<1)+(FF<<3)+(CH^48);
    	FF*=RR;
    }
    const int N=1e6+10;
    ll n,k,s[N],a[N],ans;
    int main(){
    	read(n);read(k);
    	for(int i=1;i<=n;i++)read(a[i]),s[i]=s[i-1]+a[i];
    	for(int i=k+1;i<=n;i++)ans=max(ans,s[i]-s[i-k-1]);
    	cout<<ans;
    	return 0;
    }
    
  • 相关阅读:
    获取文件夹下的所有子文件,读取TXT文档
    360笔试
    刷题总结
    背包问题
    二叉树的创建、层次遍历、前序遍历、中序遍历、后序遍历
    今日头条面试
    面试题目
    Java高并发秒杀优化
    配置tomcat解压版
    环境变量设置:
  • 原文地址:https://www.cnblogs.com/zhaohaikun/p/13829832.html
Copyright © 2011-2022 走看看