PKU 2812 Extrusion

http://poj.org/problem?id=2812
AOJの1100に毛が生えたような問題。
作りたい棒の断面の図から、与えられた材料で最大どの位の長さの棒が作れるかを出力する問題。

へんなところにabsをいれていて、2回ほど死にました。

main(){
  int n;
  while(cin>>n,n>2){
    double x[n],y[n];
    rep(i,n)cin>>x[i]>>y[i];
    double s=0;
    for(int i=1;i+1<n;i++){
      double x1=x[i]-x[0],y1=y[i]-y[0],x2=x[i+1]-x[0],y2=y[i+1]-y[0];
      s+=(x1*y2-x2*y1)/2;
    }
    double v;
    cin>>v;
    printf("BAR LENGTH: %.2f\n",v/abs(s));
  }
}