1 条题解

  • 0
    @ 2025-6-7 14:55:28
    #include <iostream>
    using namespace std;
    int main()
    {
    	int n,m,x;//n:绳子总数 m:一段绳子最长
    	int sum=0;//记录多段绳子长度
    	int sum1=0;//记录最终有几段绳子 
    	cin>>n>>m;
    	for(int i=1;i<=n;i++)
    	{
    		cin>>x;//得到当前这段绳子长度
    		sum+=x;//?<=>
    		if(sum==m)//刚刚好跟m相同 
    		{
    			sum=0;//刚好相等,拿下一段比较 
    			sum1++;//绳子数加一 
    		}
    		else if(sum>m)//多端绳子相加超过最大值 
    		{
    			sum=x;//拿着当前这段跟后面相加 
    			sum1++; 
    		}
    	} 
    	cout<<sum1; 
    	
     
    
    	
    	return 0;
    }
    
    
    
    

    信息

    ID
    742
    时间
    1000ms
    内存
    256MiB
    难度
    10
    标签
    递交数
    4
    已通过
    3
    上传者