Dlaczego tak
Element c ma flex: none, więc nie rośnie ani nie maleje i zajmuje stałe 300 px. Pozostałe 900 − 300 = 600 px elementy a i b dzielą w stosunku wartości flex-grow 1 : 2, bo skrót flex: 1 ustawia podstawę równą 0. Element a otrzymuje 200 px, a b — 400 px. Wynik 600 px to dwie trzecie całego kontenera, z pominięciem stałej szerokości elementu c.