sliding log algorithm