コード例 #1
0
ファイル: L.cs プロジェクト: sakapon/AtCoder-Contests
    static void Main()
    {
        Console.SetOut(new System.IO.StreamWriter(Console.OpenStandardOutput())
        {
            AutoFlush = false
        });
        var h = Read();
        var n = h[0];
        var a = Read();

        var st = new ST_RASQ(n);

        for (int i = 0; i < n; i++)
        {
            st.Set(i, a[i]);
        }

        for (int k = 0; k < h[1]; k++)
        {
            var q = Read();
            if (q[0] == 1)
            {
                st.Set(q[1] - 1, q[2], 1);
            }
            else
            {
                Console.WriteLine(st.Get(q[1] - 1, q[2]).inv);
            }
        }
        Console.Out.Flush();
    }
コード例 #2
0
ファイル: G.cs プロジェクト: sakapon/AtCoder-Contests
    static void Main()
    {
        var r = new List <long>();
        var h = Read();
        var n = h[0];

        var st = new ST_RASQ(n + 1);

        for (int i = 0; i < h[1]; i++)
        {
            var q = Read();
            if (q[0] == 0)
            {
                st.Set(q[1], q[2] + 1, q[3]);
            }
            else
            {
                r.Add(st.Get(q[1], q[2] + 1));
            }
        }
        Console.WriteLine(string.Join("\n", r));
    }