#46723: C++(符號要令清楚)


11131039@stu.tshs.tp.edu.tw (林孟希)

學校 : 國立臺灣大學
編號 : 201083
來源 : [140.112.25.29]
最後登入時間 :
2025-09-26 16:05:38

#include<bits/stdc++.h>
using namespace std;

int main()
{
    int n; cin>>n;
    int w1,w2,h1,h2; cin>>w1>>w2>>h1>>h2;
    int pour[n]; for(int i=0;i<n;i++) cin>>pour[i];
    int v1=w1*w1*h1,v2=w2*w2*h2;
    int highest=0,cur_height=0;
    bool v1_full=false, v2_full=false;
    for(int i=0;i<n;i++)
    {
        int delta_height;
        if(!v1_full)
        {
            if(v1-pour[i] >= 0)
            {
                v1-=pour[i];
                delta_height=pour[i]/(w1*w1);
                cur_height+=pour[i]/(w1*w1);
            }
            else
            {
                if(v2-abs(v1-pour[i]) >= 0)
                {
                    v2-=abs(v1-pour[i]);
                    delta_height=h1+abs(v1-pour[i])/(w2*w2)-cur_height;
                    cur_height=h1+abs(v1-pour[i])/(w2*w2);
                }
                else
                {
                    v2=0;
                    delta_height=h1+h2-cur_height;
                    cur_height=h1+h2;
                }
                v1=0;
            }
            if(v1 == 0) v1_full=true;
            if(v2 == 0) v2_full=true;
        }
        else if(!v2_full)
        {
            if(v2-pour[i] >= 0)
            {
                v2-=pour[i];
                delta_height=pour[i]/(w2*w2);
                cur_height+=pour[i]/(w2*w2);
            }
            else if(v2-pour[i] < 0)
            {
                v2=0;
                delta_height=h1+h2-cur_height;
                cur_height=h1+h2;
            }
            if(v2 == 0) v2_full=true;
        }
        highest=max(highest,delta_height);
    }
    cout<<highest;
    return 0;
}