1 条题解
-
1
#include<bits/stdc++.h> using namespace std; int f[101][101][101],a[101],b[101],c[101]; int I,J,K; int Move(int x,int y,int z,int qwq) { qwq++; int max1=0; if(f[x][y][z]==0) { if(x>0) max1=max(max1,Move(x-1,y,z,qwq)+a[x]*qwq); if(y>0) max1=max(max1,Move(x,y-1,z,qwq)+b[y]*qwq); if(z>0) max1=max(max1,Move(x,y,z-1,qwq)+c[z]*qwq); // cout<<qwq<<" "<<x<<" "<<y<<" "<<z<<" "<<max1<<endl; f[x][y][z]=max1; } return f[x][y][z]; } int main() { cin>>I>>J>>K; for(int i=1;i<=I;i++) cin>>a[i]; for(int i=1;i<=J;i++) cin>>b[i]; for(int i=1;i<=K;i++) cin>>c[i]; Move(I,J,K,0); cout<<f[I][J][K]; }
- 1
信息
- ID
- 953
- 时间
- 1000ms
- 内存
- 256MiB
- 难度
- 6
- 标签
- 递交数
- 29
- 已通过
- 12
- 上传者