PKU 2640 Playground

http://poj.org/problem?id=2640
スチールの半円型のワイヤーがk個ある。それぞれのワイヤーはriの半径を持っている。このとき、このワイヤーをいくつかつなげて閉じた曲線を作ることが出来るかを判定するという問題。

ソートし忘れたり、全部使うと勘違いしたりして結構WAりました。

double in[20];

main(){
  int k;
  while(cin>>k,k){
    rep(i,k)cin>>in[i];
    double sum=0;
    bool ok=false;
    sort(in,in+k);
    rep(i,k-1){
      sum+=in[i];
      if(sum>=in[i+1])ok=true;
    }
    if(ok)cout<<"YES"<<endl;
    else cout<<"NO"<<endl;
  }
}