Po każdym teście następuje pusta linia.
Gdzieś tutaj leży problem. W C++ po prostu wczytujemy liczby i ignorujemy białe znaki. W C# czytasz uczciwie linia po linii.
W załączonym programie masz zakomentowane wczytanie tej pustej linii przez co dla przypadku testowego liczy tylko pole pierwszego podanego obszaru, więc teoretycznie po odkomentowaniu tego powinno działać ok. Niestety wali gdzieś wtedy wyjątkiem (NZEC).
Żeby dużo nie modyfikować wejścia zrobiłem taki myk żeby ignorować puste linie jeśli takowe wystąpią i przeszło:
// Prepare data for calculation area.
inputData = Console.ReadLine().Split(new char[] { ' ', '\t' });
while (inputData.Length == 0 || (inputData.Length == 1 && inputData[0] == ""))
{
inputData = Console.ReadLine().Split(new char[] { ' ', '\t' });
}