data structures
dp
monotonous stack
