前日比を計算してから、前日比の累積和を計算。
var D = int.Parse(Console.ReadLine()!); var N = int.Parse(Console.ReadLine()!); // 前日比を計算 var B = new int[D + 2]; // 0 日目と D + 1 日目も含める for (var i = 0; i < N; i++) { var line = Console.ReadLine()!.Split(' '); var l = int.Parse(line[0]); var r = int.Parse(line[1]); B[l]++; B[r + 1]--; } // 累積和を計算しながら出力 var S = new int[D + 2]; for (var i = 1; i <= D; i++) { S[i] = S[i - 1] + B[i]; Console.WriteLine(S[i]); }