如何用C语言代码实现(无需解释):小 A 有 n 个糖果盒,第 i 个盒中有 a i 颗糖果。 小 A 每次可以从其中一盒糖果中吃掉一颗,他想知道,要让任意两个相邻的盒子中糖的个数之和都不大于 x,至少得吃掉几颗糖。 输入格式 输入的第一行是两个用空格隔开的整数,代表糖果盒的个数 n 和给定的参数 x。 第二行有 n 个用空格隔开的整数,第 i 个整数代表第 � i 盒糖的糖果个数 a i 。 输出格式 输出一行一个整数,代表最少要吃掉的糖果的数量。
时间: 2023-03-15 19:19:21 浏览: 80
这是一个非常有趣的问题!在C语言中,可以使用以下代码来实现:
int n, x;
scanf("%d%d", &n, &x);
int a[n];
int ans = 0;
for (int i = 0; i < n; i++)
{
scanf("%d", &a[i]);
if (i > 0 && a[i] + a[i-1] > x)
{
ans += (a[i] + a[i-1] - x);
a[i] = x - a[i-1];
}
}
printf("%d", ans);
阅读全文