コメント書き忘れ。
・バナー探しにsprintf()を使っていて、
 結果の文字列の長さが0ならオープンも試みない
・ファイルを読むときには、ファイルサイズ+1バイト確保して
 最後に'\0'/'\n'の番兵をつけている
・vector<char>をreserve()だけして、バッファに使っている

その他、全体的な事では、
・へたれC++なので、多態は使っていない
・へたれC++なので、投げる例外も時間制限だけ
・へたれC++なので、new/deleteは使っていない
・へたれC++なので、iostreamではなく、stdioを使っている
などです。

index.html関係(早朝起動時に…とか)は全く手をつけていません。

プライオリティは、#define PROCESS_PRIORITY 10
とかしておいて、main()の先頭で
setpriority(PRIO_PROCESS, 0, PROCESS_PRIORITY)すれば良いのかな?