| 记录编号 | 
        15826 | 
        评测结果 | 
        AAAAAAAAAAAAAAAAAAAA | 
    
    
        | 题目名称 | 
        55.溶液混合 | 
        最终得分 | 
        100 | 
            
    
    
        | 用户昵称 | 
         .Xmz | 
        是否通过 | 
        通过 | 
    
    
        | 代码语言 | 
        Pascal | 
        运行时间 | 
        0.037 s  | 
    
    
        | 提交时间 | 
        2010-04-02 11:21:35 | 
        内存使用 | 
        0.11 MiB  | 
        
    
    
    
    		显示代码纯文本
		
		program xmz;   
var  
f1,f2:text;   
c,c1:array[0..50]of longint;   
v,v1:array[0..50]of real;   
a,t,n,b,cc:longint;   
tr,min,s,vs:real;   
procedure pei(i,j:longint);   
begin  
if v1[i]/abs(c1[j])>v1[j]/abs(c1[i]) then  
 begin  
 vs:=vs+v1[j]+v1[j]/abs(c1[i])*abs(c1[j]);   
 v1[i]:=v1[i]-v1[j]/abs(c1[i])*abs(c1[j]);   
 v1[j]:=0;   
 end  
else  
 begin  
  vs:=vs+v1[i]+v1[i]/abs(c1[j])*abs(c1[i]);   
  v1[j]:=v1[j]-v1[i]/abs(c1[j])*abs(c1[i]);   
 v1[i]:=0;   
 end;   
end;   
begin  
 assign(f1,'mix.in');assign(f2,'mix.out');   
 reset(f1);rewrite(f2);   
 read(f1,n);   
 for a:=1 to n do  
  read(f1,c[a]);   
 for a:=1 to n do  
  read(f1,v[a]);   
 read(f1,cc);   
 for a:=1 to n do  
  for b:=a+1 to n do  
   if c[b]<c[a] then  
   begin  
    t:=c[a];c[a]:=c[b];c[b]:=t;   
    tr:=v[a];v[a]:=v[b];v[b]:=tr;   
   end;   
 for a:=1 to n do  
  c[a]:=c[a]-cc;   
  
 for a:=1 to n do  
 begin  
  v1[a]:=v[a];   
  c1[a]:=c[a];   
 end;   
 t:=0;   
 repeat  
 min:=999999;   
 inc(t);   
 for a:=1 to n do  
  if (c[a]*c[t]<0)and(v1[t]>0)and(v1[a]>0) then pei(a,t);   
 until (c[t+1]>0)or(t=n);   
 s:=vs;   
  for a:=1 to n do  
 begin  
  v1[a]:=v[a];   
 end;   
 t:=n+1;vs:=0;   
 repeat  
 min:=999999;   
 dec(t);   
 for a:=n downto 1 do  
  if (c[a]*c[t]<0)and(v1[t]>0)and(v1[a]>0) then pei(a,t);   
 until (c[t-1]<0)or(t=1);   
 if vs>s then s:=vs;   
 for a:=1 to n do  
  if c[a]=0 then s:=s+v[a];   
  writeln(f2,s:0:5);   
 close(f1);close(f2);   
end.