結果

問題 No.116 門松列(1)
コンテスト
ユーザー aaa aa
提出日時 2025-12-07 21:43:27
言語 C#
(.NET 10.0.201)
コンパイル:
dotnet_c
実行:
/usr/bin/dotnet_wrap
結果
WA  
実行時間 -
コード長 904 bytes
記録
記録タグの例:
初AC ショートコード 純ショートコード 純主流ショートコード 最速実行時間
コンパイル時間 4,985 ms
コンパイル使用メモリ 170,316 KB
実行使用メモリ 193,228 KB
最終ジャッジ日時 2026-07-19 06:07:12
合計ジャッジ時間 7,482 ms
ジャッジサーバーID
(参考情報)
judge2_0 / judge1_0
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 2 WA * 1
other AC * 7 WA * 14
権限があれば一括ダウンロードができます
コンパイルメッセージ
  復元対象のプロジェクトを決定しています...
  /home/judge/data/code/main.csproj を復元しました (93 ミリ秒)。
  main -> /home/judge/data/code/bin/Release/net10.0/main.dll
  main -> /home/judge/data/code/bin/Release/net10.0/publish/

ソースコード

diff #
raw source code

using System;

class Program
{
    static void Main()
    {
        int N = int.Parse(Console.ReadLine()!);
        int[] A = Array.ConvertAll(Console.ReadLine()!.Split(), int.Parse);
        int count = 0;

        for (int l = 0; l < N; l++)
        {
            HashSet<int> set = new HashSet<int>();
            int maxVal = int.MinValue;
            int minVal = int.MaxValue;
            for (int r = l; r < N; r++)
            {
                if (set.Contains(A[r])) break; // 重複したら終了
                set.Add(A[r]);
                maxVal = Math.Max(maxVal, A[r]);
                minVal = Math.Min(minVal, A[r]);
                if (r - l + 1 >= 3)
                {
                    if (A[l] == maxVal || A[r] == maxVal || A[l] == minVal || A[r] == minVal)
                        count++;
                }
            }
        }

        Console.WriteLine(count);
    }
}
0