题目链接:P6568 [NOI Online #3 提高组] 水壶 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn)
题目大意:
就是找出给定操作次数的最大值
思路:
前缀和
代码:
#include<iostream>
#include<algorithm>
#include<stdio.h>
using namespace std;
int main(){
int n;cin>>n;
int k;cin>>k;
int a[n+5],b[n+5];
for(int i=1;i<=n;i++)
{
cin>>a[i];
b[i]=a[i]+b[i-1];//前缀和
}
int maxn=-1;
for(int i=1;i<=n-k;i++)//不理解为什么是n-k
{
maxn=max(b[i+k]-b[i-1],maxn);//找出最大的区间
}
cout<<maxn<<endl;
return 0;
}
总结:
不懂最后一个循环