谁帮我看下,我不知道哪错了!5组

实型,精确到15位。我用int64的时候也一样 WA了5个点。

请大牛帮忙看一下,我就是一个简单的环DP。

program li;

var n:longint;

i,j,k:longint;

maxn,minn:real;

s:ansistring;

a:array[0..101] of real;

f:array[0..101,0..101] of real;

function max(x,y:real):real;

begin

if x>y then max:=x else max:=y;

end;

function min(x,y:real):real;

begin

if x>y then min:=y else min:=x;

end;

begin

readln(n);

readln(s);

for i:=1 to n do

begin read(a[i]); a:=a[i]; end;

s:=s+s;

for i:=1 to 2*n do f[1,i]:=a[i];

for i:=2 to n do

for j:=1 to n*2-i do

begin

f:=-1000000000;

for k:=1 to i-1 do

begin

if s[j+k-1]='*' then

f:=max(f,f[k,j]*f);

if s[j+k-1]='+' then

f:=max(f,f[k,j]+f);

end;

end;

maxn:=f[n,1];

for i:=2 to n do

if f[n,i]>maxn then maxn:=f[n,i];

writeln(maxn:0:0);

for i:=1 to 2*n do f[1,i]:=a[i];

for i:=2 to n do

for j:=1 to n*2-i do

begin

f:=1000000000;

for k:=1 to i-1 do

begin

if s[j+k-1]='*' then

f:=min(f,f[k,j]*f);

if s[j+k-1]='+' then

f:=min(f,f[k,j]+f);

end;

end;

minn:=f[n,1];

for i:=2 to n do

if f[n,i]

3 条评论

  • 1

信息

ID
1565
难度
7
分类
动态规划 | 环形DP 点击显示
标签
递交数
1708
已通过
321
通过率
19%
被复制
4
上传者