分享第二题 AC,,蹲一个第一题AC的代码😣 import java.util.Scanner;
public class Main {
public static <T> void main(String[] args) {
Scanner in = new Scanner(System.in);
int n = in.nextInt();
int m = in.nextInt();
int[] nums = new int[n];
for(int i=0;i<n;i++) {
nums[i] = in.nextInt();
}
long[] res = new long[n];
//用来存放包括当前数的最小和(不用限制个数为m)
long[] t = new long[n];
t[0] = nums[0];
for(int i=1;i<n;i++) {
t[i] = Math.min(nums[i], t[i-1]+nums[i]);
}
long last = 0;
for(int i=0;i<m;i++) {
last += nums[i];
}
long min = last;
for(int i=m;i<n;i++) {
long temp = last - nums[i-m] + nums[i];
last = temp;
res[i] = Math.min(temp, temp+t[i-m]);
min = Math.min(min, res[i]);
}
System.out.println(min);
}
}