我这个能过测试数据,但是第二个,第十个超时了,这个怎么改
查看原帖
我这个能过测试数据,但是第二个,第十个超时了,这个怎么改
423006
傻肥狍子楼主2020/12/8 22:49
#include<bits/stdc++.h>
using namespace std;
int a[100000001];
int main(void)
{
	int m=0,i,j;
    long x,sum,n;
	scanf("%ld %ld",&n,&x);    //读入盒子数和相邻盒子最大值 
	for(i=0;i<n;i++)
	{
		scanf("%d",&a[i]);             //读入每个盒子的糖果数 
	}
	for(i=0;i<n-1;i++)
	{
		if(a[0]>x)                    //判断第一个盒子,排除特例 
		{ 
			while(a[0]>x)
			{
				a[0]=a[0]-1;
				m++;
			}
		}
		if(a[0]<=x)            //正常情况下 
		{
			while(a[i]+a[i+1]>x)
		    {
			    a[i+1]=a[i+1]-1;
			    m++;
		    }
		}
	}
	printf("%d",m);
	return 0;
}
2020/12/8 22:49
加载中...