注意到了特判和数据范围,但还是80分求调
查看原帖
注意到了特判和数据范围,但还是80分求调
1581796
Easoncalm楼主2024/12/14 11:32
/*
Date : 2024-12-13
RobinSuperStar & I am Robin's DOG.
*/
#include <bits/stdc++.h>
#define int long long
//避免num炸数据范围
using namespace std;
int n, x, arr[1000010], num = 0;

main() {
	scanf("%d%d", &n, &x);
	for (int i = 1; i <= n; i++)
		scanf("%d", &arr[i]);
	if(arr[1]>x){//特判
		num+=arr[1]-x;
		arr[1]=x;
	}
	for (int i = 1; i <= n; i++) {
		if (arr[i - 1] + arr[i] > x) {
			num += (arr[i - 1] + arr[i]) - x;
			arr[i] -= (arr[i - 1] + arr[i]) - x;
		}
	}
	/*for (int i = 1; i <= n; i++)
		printf("%d ", arr[i]);*/
	printf("%d", num);
	return 0;
}
2024/12/14 11:32
加载中...