1 条题解

  • 0
    @ 2025-9-24 10:13:57

    C++ :

    #include<bits/stdc++.h>
    using namespace std;
    
    
    int n,m;
    long long ans;
    long long p[100005];
    long long c;
    
    int idx=1;   //代表目前最早的牛奶 
    
     
    int main()
    {
    
    cin>>n>>m;
    for(int i=1;i<=n;i++)
    {
    	cin>>p[i]>>c;	
    	while(idx<i-m)	 idx++;   //倒牛奶   3 5 2
    	int j;
    	for(j=idx;j<=i;j++)
    	{
    		if(p[j]<c)
    		{
    			ans+=p[j];
    			c-=p[j];
    			p[j]=0;
    		}
    		else
    		{
    			ans+=c;
    			p[j]-=c;
    			break;
    		}
    	}
    	idx=j;
    	
    
    }
    
    
    cout<<ans;
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    return 0;
    }
    
    

    信息

    ID
    2094
    时间
    1000ms
    内存
    128MiB
    难度
    (无)
    标签
    (无)
    递交数
    0
    已通过
    0
    上传者