結果

問題 No.2053 12345...
ユーザー デカブツ
提出日時 2022-08-21 13:54:14
言語 C#
(.NET 8.0.404)
結果
AC  
実行時間 101 ms / 2,000 ms
コード長 1,723 bytes
コンパイル時間 10,798 ms
コンパイル使用メモリ 166,728 KB
実行使用メモリ 211,208 KB
最終ジャッジ日時 2024-10-10 06:09:06
合計ジャッジ時間 13,048 ms
ジャッジサーバーID
(参考情報)
judge1 / judge2
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 2
other AC * 31
権限があれば一括ダウンロードができます
コンパイルメッセージ
  復元対象のプロジェクトを決定しています...
  /home/judge/data/code/main.csproj を復元しました (104 ms)。
MSBuild のバージョン 17.9.6+a4ecab324 (.NET)
  main -> /home/judge/data/code/bin/Release/net8.0/main.dll
  main -> /home/judge/data/code/bin/Release/net8.0/publish/

ソースコード

diff #

using System;
using System.Collections.Generic;

namespace test
{
    static class Program
    {
        static void Main()
        {
            long n = long.Parse(Console.ReadLine());
            string[] astr = Console.ReadLine().Split(' ');
            long[] a = new long[n];
            for(int i = 0; i < n; i++)
            {
                a[i] = long.Parse(astr[i]);
            }
            long l = 0;
            long r = 0;
            long kosuu = 0;
            while (true)
            {
                if(l == a.Length)
                {
                    break;
                }
                if (l == r)
                {
                    if (l == a.Length - 1)
                    {
                        break;
                    }
                    else
                    {
                        if (a[l] + 1 == a[l + 1])
                        {
                            r++;
                        }
                        else
                        {
                            l++;
                            r++;
                        }
                    }
                }
                else
                {
                    if (r+1 < a.Length && a[r] + 1 == a[r + 1])
                    {
                        r++;
                    }
                    else
                    {
                        kosuu += (r - l+1) * (r - l ) / 2;
                        if(r == a.Length)
                        {
                            break; 
                        }
                        l = r+1;
                        r = l;
                    }
                }
            }
            Console.WriteLine(kosuu);
        }
    }
}
0