A07 - Event Attendance

atcoder.jp

前日比を計算してから、前日比の累積和を計算。

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]);
}