In order to ensure no flooding, data transfer rate between B-C must be same (or greater) as that between A-B.
Lets consider the no. of bits transmitted by A until it receives ACK and let time for this be S.
S = 2* Propagation delay + Transmission delay for packet + Transmission delay for ACK
= 2*20 ms + 10 ms + 0
= 50ms.
Window size is 4.
So, in 50ms, A could send up to 4 packets = 4000 bits. Data rate being 100 kbps, allows upto 100 *50 = 5000 bits in 50ms, so we are fine and we have effective data rate of 4kb/50ms = 80kbps.
Now, we know that in every 50ms, we are getting 4000 bits at B. (with a buffer of size 4000 bits we can assume no flooding for this)
Lets consider the no. of bits transmitted by B until it receives ACK and let time for this be T.
T = 2* Propagation delay + Transmission delay for packet + Transmission delay for ACK
= 2 * 5ms + 1000/x ms, where x is the data rate in kbps
In T ms, B sends 1000 bits. We want B to send at 80kbps which implies T = 1000/80 = 12.5ms
So, 12.5 = 10 + 1000/x
x = 1000/2.5 = 400 kbps.