80分求助!样例都过了
查看原帖
80分求助!样例都过了
549907
Aheaddd楼主2021/9/14 14:01
#include<iostream>
#include<string>
#include<cstdio>
#include<algorithm>
#include<vector>
using namespace std;

int a[100010], ans;

int main()
{
	int n, x;
	cin >> n >> x;
	for (int i = 1; i <= n; i++)
	{
		cin >> a[i];
	}
	if (n > 2)
	{
		for (int i = 2; i <= n - 1; i++)
		{
			if (a[i - 1] > x)
			{
				ans += a[i]; a[i] = 0; ans += (a[i - 1] - x); a[i - 1] = x;
			}
			else if (a[i] + a[i - 1] > x)
			{
				ans += (a[i] + a[i - 1] - x); a[i] -= (a[i] + a[i - 1] - x);
			}
			if (a[i] > x)
			{
				ans += a[i + 1]; a[i + 1] = 0; ans += (a[i] - x); a[i] = x;
			}
			else if (a[i] + a[i + 1] > x)
			{
				ans += (a[i] + a[i + 1] - x); a[i + 1] -= (a[i] + a[i + 1] - x);
			}
		}
	}
	else
	{
		if (a[1] + a[2] > x)ans = a[1] + a[2] - x;
	}
	cout << ans;
	return 0;
}
2021/9/14 14:01
加载中...