Submission #49453358


Source Code Expand

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()
    {
        using var sw = new StreamWriter(Console.OpenStandardOutput()) { AutoFlush = false };
        Console.SetOut(sw);
        Solve();
        Console.Out.Flush();
    }

    public static void Solve()
    {
        var N = Scanner.Scan<int>();
        var A = Scanner.ScanEnumerable<int>().ToArray();
        var back = new int[N];
        var curr = -1;
        for (var i = 0; i < N; i++)
        {
            if (A[i] == -1) curr = i;
            else back[A[i] - 1] = i;
        }

        var list = new List<int>(N);
        for (var i = 0; i < N; i++)
        {
            list.Add(curr);
            curr = back[curr];
        }

        Console.WriteLine(string.Join(" ", list.Select(x => x + 1)));
    }

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

Submission Info

Submission Time
Task C - Lining Up 2
User AconCavy
Language C# 11.0 (.NET 7.0.7)
Score 300
Code Size 3285 Byte
Status AC
Exec Time 124 ms
Memory 72556 KiB

Judge Result

Set Name Sample All
Score / Max Score 0 / 0 300 / 300
Status
AC × 3
AC × 32
Set Name Test Cases
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_handmade_03.txt, 01_handmade_04.txt, 01_handmade_05.txt, 01_handmade_06.txt, 01_handmade_07.txt, 01_handmade_08.txt, 01_handmade_09.txt, 01_handmade_10.txt, 01_handmade_11.txt, 01_handmade_12.txt, 01_handmade_13.txt, 01_handmade_14.txt, 01_handmade_15.txt, 02_random_16.txt, 02_random_17.txt, 02_random_18.txt, 02_random_19.txt, 02_random_20.txt, 02_random_21.txt, 02_random_22.txt, 02_random_23.txt, 02_random_24.txt, 02_random_25.txt, 02_random_26.txt, 02_random_27.txt, 02_random_28.txt, 02_random_29.txt, 02_random_30.txt, 02_random_31.txt
Case Name Status Exec Time Memory
00_sample_00.txt AC 58 ms 26652 KiB
00_sample_01.txt AC 51 ms 26480 KiB
00_sample_02.txt AC 49 ms 26352 KiB
01_handmade_03.txt AC 114 ms 72556 KiB
01_handmade_04.txt AC 112 ms 68660 KiB
01_handmade_05.txt AC 113 ms 72348 KiB
01_handmade_06.txt AC 115 ms 68712 KiB
01_handmade_07.txt AC 45 ms 26344 KiB
01_handmade_08.txt AC 48 ms 26584 KiB
01_handmade_09.txt AC 56 ms 26328 KiB
01_handmade_10.txt AC 53 ms 26344 KiB
01_handmade_11.txt AC 45 ms 26580 KiB
01_handmade_12.txt AC 51 ms 26344 KiB
01_handmade_13.txt AC 48 ms 26492 KiB
01_handmade_14.txt AC 52 ms 26572 KiB
01_handmade_15.txt AC 50 ms 26580 KiB
02_random_16.txt AC 121 ms 72504 KiB
02_random_17.txt AC 119 ms 72304 KiB
02_random_18.txt AC 114 ms 72284 KiB
02_random_19.txt AC 119 ms 72512 KiB
02_random_20.txt AC 121 ms 72476 KiB
02_random_21.txt AC 123 ms 72356 KiB
02_random_22.txt AC 115 ms 72348 KiB
02_random_23.txt AC 124 ms 72316 KiB
02_random_24.txt AC 87 ms 44860 KiB
02_random_25.txt AC 74 ms 39076 KiB
02_random_26.txt AC 60 ms 31420 KiB
02_random_27.txt AC 89 ms 57672 KiB
02_random_28.txt AC 81 ms 53108 KiB
02_random_29.txt AC 85 ms 58364 KiB
02_random_30.txt AC 122 ms 71732 KiB
02_random_31.txt AC 88 ms 59568 KiB