cc

Posted by tiendatCT1 at 2023-03-27 11:21:45
#include <bits/stdc++.h>
using namespace std;
int n,i,j,H,res;
int f[100005],d[100005],v[100005],t[100005];

void doc()
{
    cin >> n >>  H;
    for(i=1;i<=n-1;i++)cin >> t[i];
    for(i=1;i<=n;i++)cin >> v[i];
    for(i=1;i<=n;i++)cin >> d[i];
    H=H*60;
}

void qhd()
{
   for (int i=1;i<=n;i++)
   {
       res=f[i+1];
       for (int j=5;j<=H;j=j+5)
       {
           if (j <= t[i])
           {
               f[j]=f[j-5]+v[i];
               v[i]-=d[i];
           }
           else
           {
               f[j]=max(f[j-5]+v[i],f[j-5-t[i]]+res);
               if (f[j]==(f[j-5]+v[i])) v[i]-=d[i];
               else res-=d[i+1];
           }
       }
   }

}


main()
{

    //freopen("CAUCA.INP","r",stdin);
   // freopen("CAUCA.OUT","w",stdout);
    doc();
    qhd();
    for (int i=5;i<=H;i=i+5) cout<<f[i]<<" ";
    cout<<endl << *max_element(f+1,f+H+1);


}
Followed by
No followed post

Reply