Plain C arrays have a fixed size and no bounds help, which is painful when input size is unknown. vector grows as you push elements and is the default container for almost every C++ solution. Use it for lists, adjacency lists and 2D grids. Only switch to deque or list when you truly need fast insertion at the front or middle.