greedy
math calculation
segment tree
dp
adhoc
dijstra
challenge prob .42
dp