>>391
もう質問者的には解決してるっぽいけど、1passでメモリ食わないように書いてみた。
速いかどうかは分からない。
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/6639.cpp
(UTF-8にしないと化ける…)