洛谷 P1614 【爱与愁的心痛】

数据水

如果n<=300000,m<=n又该怎么做呢?

我也不会

外面套1~n-m+1的i循环(因为要保证每一个都有m个数),枚举以每一个点作为序列的起点

里面0~m-1的j循环

用i+j作为数组下标取到每一个点的心痛值

开一个变量记录每组序列的心痛值

在最后与另一个变量(即答案)比较

#include
using namespace std;
int n,m;
int a[3007];
int ans=10000000;
int main()
{
	cin>>n>>m;
	for(int i=1;i<=n;i++)
	cin>>a[i];
	for(int i=1;i<=n-m+1;i++)
	{
		int sum=0;
		for(int j=0;j<m;j++)
		sum+=a[i+j];
		ans=min(ans,sum);
	}
	cout<<ans<<endl;
}

你可能感兴趣的:(题解)