コードを極限まで削れ

最近各所で皆が http://acm.pku.edu.cn/JudgeOnline/problemstatus?problem_id=1145&orderby=clen&language=-1
の問題の回答を極限まで無駄を省くという極限まで無駄なことをしています。
自分も挑戦してみたのでその記録。
以下激しくネタバレなので自分で解きたい方は見ないほうがお勧め、


とりあえず提出したコードはこれ(GCCで通る)

z,x,k;p(n){
scanf(" (%d",&x)?k=2,p(n-=x),p(n):(z|=!--k&!n);scanf(" )");}
main(){for(;~scanf("%d",&x);puts(z?"yes":"no"),z=0)p(x);}

解説は面倒なので省略。根性でコードを追いかけてください。
コードを削る技法使ったのは、

  1. for文に式を突っ込む
  2. 関数や変数の型はすべて省略。
  3. returnを使わずグローバル変数で値の受け渡し
  4. ifの代わりに3項演算子と,演算子

ちなみに、このコードは128Bなので1位の108Bと20Bもの差があります。

自分の能力的にはこれで限界です。
たぶん、上位陣は違うアルゴリズムでやっている(と思う)ので、これを参考にしてもあまり役には立ちません。