Synthesizing Algorithmic Programs with LLM-Generated Oracle Verifiers