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 |
|
|
| 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 |