rt
3WA 2TLE
代码如下
#include<iostream>
#include<algorithm>
#include<cmath>
#include<cstring>
using namespace std;
int n,h;
int a[30],b[30],c[30];
int dfs(int ind,int tim,bool flag,int lef)
{
if(ind>n)
return 0;
if(tim<0)
return 0;
if(flag==1){
if(tim-5<0)
return 0;
return max(dfs(ind+1,tim-5*c[ind],0,a[ind+1]),dfs(ind,tim-5,1,lef-b[ind])+lef);
}
else
{
return max(dfs(ind+1,tim-5*c[ind],0,a[ind+1]),dfs(ind,tim,1,lef-b[ind])+lef);
}
}
int main()
{
memset(c,1,sizeof(c));
cin >> n >> h;
for(int i=1;i<=n;i++) cin >> a[i];
for(int i=1;i<=n;i++) cin >> b[i];
for(int i=1;i<=n-1;i++) cin >> c[i];
h*=60;
cout << dfs(1,h,0,a[1]);
return 0;
}