algorithm, data structure, online judge solutions