Just measure the memory required for the given resolution. The screen size has nothing to do with the memory required and is given just for the sake of it. Each pixel is represented using a color. So, we need to find the number of pixels and multiply by the amount of storage required for color.
A. 256 colors means 8 bits for color representation meaning 1 byte. So, 1600 * 400 resolution requires 640 kB. We have 1 MB, so fine.
B. 16 million colors require 24 bits or 3 bytes. So, 1600 * 400 resolution requires 640 k * 3 = 1920 kB which is over our on board memory. So, not possible.
C. Again 3 bytes for a color. 800 * 400 resolution requires 320 k * 3 = 960 kB which is fine as we have 1 MB on board.
D. 256 colors require 1 byte. 800 * 800 resolution requires 640 k * 1 = 640 kB which is again fine.
So, answer is B.