求助,代码只能得40分
查看原帖
求助,代码只能得40分
476937
xin1100楼主2022/4/7 18:39
#include<iostream>
#include<vector>
#include<string.h>
#include<stdlib.h>
#include<stdio.h>
#include<math.h>
#include<algorithm>

#define ll long long
#define pii pair<int,int>
#define pdi pair<double,int>
#define x first
#define y second
using namespace std;
int a[100005];
int main()
{
    
    int n,x,tot=0;cin>>n>>x;
    for(int i=0;i<n;i++)cin>>a[i];
	
	for(int i=0;i<n;i++)
	{
		A:
		if(a[i]<=x)//0 2 4 6
		{
			while(1)
			{
				//边界 
				if(a[i]+a[i+1]<=x)break;
				a[i+1]--,tot++;
				if(i+1==n)break;
			}
		}
		
		else if(a[i+1]<=x)
		{
			while(1)
			{
				
				if(a[i]+a[i+1]<=x)break;
				a[i]--,tot++;
				if(i+1==n)break;//边界 
			}
		}
		
		else
		{
			while(1)
			{
				if(a[i]--<=x)goto A;
			}
		}
	}
	cout<<tot<<endl;
    return 0;
}
2022/4/7 18:39
加载中...