1 solutions
-
0
C++ :
#include <cstdio> int n,m,scor[400],typ,tp,f[41][41][41][41],typnum[5]; int main(){ scanf("%d%d",&n,&m); for(int i=1;i<=n;i++){ scanf("%d",&scor[i]); } for(int i=1;i<=m;i++){ scanf("%d",&typ); typnum[typ]++; } f[0][0][0][0]=scor[1]; for(int i=0;i<=typnum[1];i++){ for(int j=0;j<=typnum[2];j++){ for(int k=0;k<=typnum[3];k++){ for(int l=0;l<=typnum[4];l++){ tp=scor[i+j*2+k*3+l*4+1]; if(i>=1&&f[i][j][k][l]<f[i-1][j][k][l]+tp){ f[i][j][k][l]=f[i-1][j][k][l]+tp; } if(j>=1&&f[i][j][k][l]<f[i][j-1][k][l]+tp){ f[i][j][k][l]=f[i][j-1][k][l]+tp; } if(k>=1&&f[i][j][k][l]<f[i][j][k-1][l]+tp){ f[i][j][k][l]=f[i][j][k-1][l]+tp; } if(l>=1&&f[i][j][k][l]<f[i][j][k][l-1]+tp){ f[i][j][k][l]=f[i][j][k][l-1]+tp; } } } } } printf("%d",f[typnum[1]][typnum[2]][typnum[3]][typnum[4]]); return 0; }
- 1
Information
- ID
- 18460
- Time
- 1000ms
- Memory
- 128MiB
- Difficulty
- (None)
- Tags
- # Submissions
- 0
- Accepted
- 0
- Uploaded By