提出 #32210520


ソースコード 拡げる

using System;
using System.Collections;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Numerics;

namespace Tasks
{
    public class C
    {
        public static void Main()
        {
            var sw = new StreamWriter(Console.OpenStandardOutput()) { AutoFlush = false };
            Console.SetOut(sw);
            Solve();
            Console.Out.Flush();
        }

        public static void Solve()
        {
            var (N, K) = Scanner.Scan<int, int>();
            var A = Scanner.ScanEnumerable<int>().ToArray();
            var list = new int[K][].Select(x => new List<int>()).ToArray();
            for (var i = 0; i < N; i++)
            {
                list[i % K].Add(A[i]);
            }

            for (var i = 0; i < K; i++)
            {
                list[i].Sort();
            }

            var B = new List<int>();
            for (var i = 0; i < N; i++)
            {
                B.Add(list[i % K][i / K]);
            }

            var C = A.OrderBy(x => x).ToArray();
            var answer = true;
            for (var i = 0; i < N; i++)
            {
                answer &= B[i] == C[i];
            }

            Console.WriteLine(answer ? "Yes" : "No");
        }

        public static class Scanner
        {
            public static string ScanLine() => Console.ReadLine()?.Trim() ?? string.Empty;
            public static string[] Scan() => ScanLine().Split(' ');
            public static T Scan<T>() where T : IConvertible => Convert<T>(Scan()[0]);
            public static (T1, T2) Scan<T1, T2>() where T1 : IConvertible where T2 : IConvertible
            {
                var line = Scan();
                return (Convert<T1>(line[0]), Convert<T2>(line[1]));
            }
            public static (T1, T2, T3) Scan<T1, T2, T3>() where T1 : IConvertible where T2 : IConvertible where T3 : IConvertible
            {
                var line = Scan();
                return (Convert<T1>(line[0]), Convert<T2>(line[1]), Convert<T3>(line[2]));
            }
            public static (T1, T2, T3, T4) Scan<T1, T2, T3, T4>() where T1 : IConvertible where T2 : IConvertible where T3 : IConvertible where T4 : IConvertible
            {
                var line = Scan();
                return (Convert<T1>(line[0]), Convert<T2>(line[1]), Convert<T3>(line[2]), Convert<T4>(line[3]));
            }
            public static (T1, T2, T3, T4, T5) Scan<T1, T2, T3, T4, T5>() where T1 : IConvertible where T2 : IConvertible where T3 : IConvertible where T4 : IConvertible where T5 : IConvertible
            {
                var line = Scan();
                return (Convert<T1>(line[0]), Convert<T2>(line[1]), Convert<T3>(line[2]), Convert<T4>(line[3]), Convert<T5>(line[4]));
            }
            public static (T1, T2, T3, T4, T5, T6) Scan<T1, T2, T3, T4, T5, T6>() where T1 : IConvertible where T2 : IConvertible where T3 : IConvertible where T4 : IConvertible where T5 : IConvertible where T6 : IConvertible
            {
                var line = Scan();
                return (Convert<T1>(line[0]), Convert<T2>(line[1]), Convert<T3>(line[2]), Convert<T4>(line[3]), Convert<T5>(line[4]), Convert<T6>(line[5]));
            }
            public static IEnumerable<T> ScanEnumerable<T>() where T : IConvertible => Scan().Select(Convert<T>);
            private static T Convert<T>(string value) where T : IConvertible => (T)System.Convert.ChangeType(value, typeof(T));
        }
    }
}

提出情報

提出日時
問題 C - K Swap
ユーザ AconCavy
言語 C# (.NET Core 3.1.201)
得点 300
コード長 3581 Byte
結果 AC
実行時間 191 ms
メモリ 71384 KiB

ジャッジ結果

セット名 Sample All
得点 / 配点 0 / 0 300 / 300
結果
AC × 3
AC × 20
セット名 テストケース
Sample 00_sample_00.txt, 00_sample_01.txt, 00_sample_02.txt
All 00_sample_00.txt, 00_sample_01.txt, 00_sample_02.txt, 01_srnd_00.txt, 01_srnd_01.txt, 01_srnd_02.txt, 01_srnd_03.txt, 01_srnd_04.txt, 02_rnd_00.txt, 02_rnd_01.txt, 02_rnd_02.txt, 02_rnd_03.txt, 02_rnd_04.txt, 02_rnd_05.txt, 02_rnd_06.txt, 02_rnd_07.txt, 02_rnd_08.txt, 02_rnd_09.txt, 03_worst_00.txt, 03_worst_01.txt
ケース名 結果 実行時間 メモリ
00_sample_00.txt AC 79 ms 27956 KiB
00_sample_01.txt AC 79 ms 28512 KiB
00_sample_02.txt AC 91 ms 28200 KiB
01_srnd_00.txt AC 94 ms 28132 KiB
01_srnd_01.txt AC 78 ms 28248 KiB
01_srnd_02.txt AC 93 ms 28324 KiB
01_srnd_03.txt AC 84 ms 28224 KiB
01_srnd_04.txt AC 80 ms 28256 KiB
02_rnd_00.txt AC 191 ms 53120 KiB
02_rnd_01.txt AC 178 ms 68096 KiB
02_rnd_02.txt AC 191 ms 53224 KiB
02_rnd_03.txt AC 176 ms 70680 KiB
02_rnd_04.txt AC 188 ms 55452 KiB
02_rnd_05.txt AC 177 ms 71384 KiB
02_rnd_06.txt AC 187 ms 55704 KiB
02_rnd_07.txt AC 179 ms 71108 KiB
02_rnd_08.txt AC 187 ms 56312 KiB
02_rnd_09.txt AC 186 ms 55760 KiB
03_worst_00.txt AC 188 ms 55676 KiB
03_worst_01.txt AC 187 ms 56052 KiB