I never took any OS classes so I've always wanted to do one of those silly exercises. Here goes. I'm going to assume this works roughly like x86.
A page is 2^10 = 1024 B.
Your task has 256KiB = 256 pages of memory.
A page table entry can map 2^6=64 pages. So we need 256/64=4 full page tables.
We can fit four page table entries in a page dir (we could fit 256), and we can fit a page dir entry in a page-dir-pointer-table (I sure hope).
So we need 4 full PTs, a PD and a PDPT, that's 4*128 + 256 + 256 = 1024 bytes assuming you can reuse part of pages that aren't completely used, and that you don't want paging structures that map garbage above a given address (that's a bad idea). Whoops, wrong answer. Weird.
Let's see what happens if you keep everything page aligned and assume you can't reuse the wasted space in those pages. That's 4*1024 + 1024 + 1024 = 6144 bytes. Damn, still the wrong answer.
Let's see if there's even a solution, even if it involves weird alignments for our paging structures. After all, if you want to address a paging structure with 2 byte entries, then your paging structures have to be in the first 65KiB, or they have to be 65KiB-aligned, or a weird mix of the two. Let's see if this is a weird mix of the two :
Now if we assume that the PD and PDPT needs to be page-aligned, the PD and PDPT take 2*1024=2048 bytes.
To reach the solution, the page tables would have to take (4608-2048)/4=640 bytes each after alignment, that's a bogus alignment (not a power of two), so that's just not possible.
If we align the PD on whatever boundary is required, and don't align the PDPT, the PD and PDPT take 2*(2*2^8)=2*512=1024 bytes, We now have each page table required to take (4608-1024)/4=896 bytes. Also impossible.
Now if we really want to reach that solution at any price given those requirements, you could have your 4 PTs taking 4*1024 bytes, have 510 bytes of your page dir aligned to whatever you want, and have only one entry in the PDPT located just after the end of the PD, that's 4096+512=4608 bytes, the solution. But accessing anything above 16MiB-65KiB=0xFF0000 will have completely unpredictable results, including corrupting random memory (therefore potentially bricking your computer). But at least the first 256KiB are mapped for your task!
TL;DR: The problem's statement is false, or the solution you gave is wrong.
I'd also like to point out that 2B for a paging structure entry in a 32 bit address space with 1KiB pages is incredibly silly.
And I just waster half an hour on this :) !