Submission #26424320


Source Code Expand

using System;
using System.Collections.Generic;
using System.Linq;

class Program
{
    static string InputPattern = "InputX";

    static List<string> GetInputList()
    {
        var WillReturn = new List<string>();

        if (InputPattern == "Input1") {
            WillReturn.Add("3 2");
            WillReturn.Add("0 0 1");
            //1
        }
        else if (InputPattern == "Input2") {
            WillReturn.Add("3 2");
            WillReturn.Add("1 1 1");
            //0
        }
        else if (InputPattern == "Input3") {
            WillReturn.Add("3 2");
            WillReturn.Add("0 1 0");
            //2
        }
        else if (InputPattern == "Input4") {
            WillReturn.Add("7 3");
            WillReturn.Add("0 0 1 2 0 1 0");
            //2
        }
        else {
            string wkStr;
            while ((wkStr = Console.ReadLine()) != null) WillReturn.Add(wkStr);
        }
        return WillReturn;
    }

    static void Main()
    {
        List<string> InputList = GetInputList();
        int[] wkArr = InputList[0].Split(' ').Select(pX => int.Parse(pX)).ToArray();
        int M = wkArr[1];

        int[] AArr = InputList[1].Split(' ').Select(pX => int.Parse(pX)).ToArray();
        int UB = AArr.GetUpperBound(0);

        // Mexの候補
        var MexKouhoSet = new SortedSet<int>();
        for (int I = 0; I <= AArr.Length; I++) {
            MexKouhoSet.Add(I);
        }

        int[] CntArr = new int[AArr.Max() + 1];

        int Answer = int.MaxValue;
        for (int I = 0; I <= UB; I++) {
            CntArr[AArr[I]]++;

            // Mexの候補から消す
            if (Answer > AArr[I]) {
                MexKouhoSet.Remove(AArr[I]);
            }

            // 区間の範囲外になった要素の削除
            if (I >= M) {
                int RemoveInd = I - M;
                int RemoveVal = AArr[RemoveInd];
                CntArr[RemoveVal]--;

                if (CntArr[RemoveVal] == 0) {
                    if (Answer > RemoveVal) {
                        MexKouhoSet.Add(RemoveVal);
                    }
                }
            }

            // 現在の区間のMexを求める
            if (I >= M - 1) {
                int CurrMex = MexKouhoSet.Min;
                Answer = Math.Min(Answer, CurrMex);
            }
        }
        Console.WriteLine(Answer);
    }
}

Submission Info

Submission Time
Task E - Mex Min
User aketijyuuzou
Language C# (.NET Core 3.1.201)
Score 500
Code Size 2474 Byte
Status AC
Exec Time 2389 ms
Memory 171244 KiB

Judge Result

Set Name Sample All
Score / Max Score 0 / 0 500 / 500
Status
AC × 4
AC × 28
Set Name Test Cases
Sample sample_01.txt, sample_02.txt, sample_03.txt, sample_04.txt
All answer_n_00.txt, answer_n_01.txt, gu_killer_00.txt, gu_killer_01.txt, gu_killer_02.txt, handmade_00.txt, handmade_01.txt, handmade_02.txt, handmade_03.txt, large_answer_00.txt, large_answer_01.txt, large_answer_02.txt, large_answer_03.txt, large_answer_04.txt, large_answer_05.txt, large_answer_06.txt, random_00.txt, random_01.txt, random_02.txt, random_03.txt, random_04.txt, random_05.txt, same_00.txt, same_01.txt, sample_01.txt, sample_02.txt, sample_03.txt, sample_04.txt
Case Name Status Exec Time Memory
answer_n_00.txt AC 2389 ms 171244 KiB
answer_n_01.txt AC 1198 ms 120340 KiB
gu_killer_00.txt AC 1744 ms 170628 KiB
gu_killer_01.txt AC 1702 ms 170588 KiB
gu_killer_02.txt AC 1436 ms 170616 KiB
handmade_00.txt AC 87 ms 27992 KiB
handmade_01.txt AC 84 ms 27912 KiB
handmade_02.txt AC 83 ms 28040 KiB
handmade_03.txt AC 80 ms 28080 KiB
large_answer_00.txt AC 1782 ms 171212 KiB
large_answer_01.txt AC 1622 ms 170624 KiB
large_answer_02.txt AC 1682 ms 171100 KiB
large_answer_03.txt AC 1751 ms 170596 KiB
large_answer_04.txt AC 607 ms 106560 KiB
large_answer_05.txt AC 318 ms 62196 KiB
large_answer_06.txt AC 1196 ms 144996 KiB
random_00.txt AC 810 ms 143912 KiB
random_01.txt AC 772 ms 151196 KiB
random_02.txt AC 769 ms 145056 KiB
random_03.txt AC 629 ms 143640 KiB
random_04.txt AC 574 ms 107576 KiB
random_05.txt AC 99 ms 32192 KiB
same_00.txt AC 1416 ms 144124 KiB
same_01.txt AC 1420 ms 169524 KiB
sample_01.txt AC 83 ms 27872 KiB
sample_02.txt AC 79 ms 27704 KiB
sample_03.txt AC 93 ms 27856 KiB
sample_04.txt AC 83 ms 27904 KiB