I NEED HELP, ONLY 0 POINT
查看原帖
I NEED HELP, ONLY 0 POINT
1162195
TJ_WY楼主2024/4/26 16:24

0分

有没有大佬能帮助我修改代码?Then I am going to tell u that what mind I think and what questions I have(接下来我会告诉你我遇到的问题和思路)

思路部分

这道题我使用的思想,类似但不同于题解区大牛们提出的 滑动窗口 大致是以下:

一个列表ct[m]ct[m]和3个变量,变量11 ljt 存储列表中要被扔掉的那个变量,变量22 jsq 存储这个列表的和 ,变量33 smin 存储最小的 jsq;

然后输入数据,存储到ct[i%m]ct[i\%m]中(已经让ljt存储要扔掉的数据)

jsq把ljt的值扔掉,然后加上新的值

代码部分

#include<bits/stdc++.h>
using namespace std;
int smin=114514,m,n,jsq,ljt;
int main(){
	cin>>n>>m;
	int ct[m];
	for(int i=0;i<n;i++){
		if(ct[m-1]==0){
			continue;
		}
		ljt=ct[i%m];
		scanf("%d",&ct[i%m]);
		jsq-=ljt;jsq+=ct[i%m];
		smin=min(jsq,smin);
	}
	cout<<smin;
	return 0;
}

小彩蛋:你猜ljt变量为什么叫ljt,提示:v.“扔掉”

2024/4/26 16:24
加载中...