>>771
3ヶ所修正したら動いた。(VC++2005)

修正前 → 修正後
while(r<l) → while(l<r)
m = (l+r)/2; → m = (l+r)/2+1;
r = m; → r = m-1;