1 solutions
-
0
Pascal :
var n,m,i,j,k,l,x:longint; a,b:array[0..1000] of longint; f:Array[-1..40,-1..40,-1..40,-1..40] of longint; function max(a,b,c,d:longint):longint; begin if a<b then a:=b; if a<c then a:=c; if a<d then a:=d; exit(a); end; begin readln(n,m); for i:=1 to n do read(a[i]); readln; for i:=1 to m do begin read(x); inc(b[x]); end; for i:=0 to b[1] do for j:=0 to b[2] do for k:=0 to b[3] do for l:=0 to b[4] do f[i,j,k,l]:=max(f[i-1,j,k,l],f[i,j-1,k,l],f[i,j,k-1,l],f[i,j,k,l-1])+a[i+j*2+k*3+l*4+1]; writeln(f[b[1],b[2],b[3],b[4]]); end.
- 1
Information
- ID
- 18456
- Time
- 1000ms
- Memory
- 128MiB
- Difficulty
- (None)
- Tags
- # Submissions
- 0
- Accepted
- 0
- Uploaded By