7668 2024. 01. 10 11:27:03 NotYou A lehető legkevesebb átszállás (50 pont) csharp Elfogadva 50/50 52ms 32008 KiB
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace atszallas
{
    class Program
    {
        static void Main(string[] args)
        {
            int[] s = Console.ReadLine().Split().Select(int.Parse).ToArray();
            int vs = s[0];
            int asz = s[1];
            List<int> kezd = new List<int>();
            List<int> veg = new List<int>();
            int iv = 0;
            bool vv = false;
            int kezdi = 0;
            int at = 0;
            List<int> vh = new List<int>();

            for (int i = 0; i < vs; i++)
            {
                int[] s1 = Console.ReadLine().Split().Select(int.Parse).ToArray();
                kezd.Add(s1[0]);
                veg.Add(s1[1]);

                if (kezd[i] == 1 && iv < kezd [i])
                {
                    iv = veg[i];
                    kezdi = i;
                    at++;
                }

                if (veg[i] == asz)
                {
                   vv = true;
                }
            }
            
            
            if (iv == 0 || vv == false)
            {
                Console.WriteLine(-1);
            }
            else
            {
                List<int> vsz = new List<int>();
                int max = 0;
                int maxi = 0;
                int cv = 0;
                while (kezd[cv]==1)
                {
                    if (veg[cv]>max)
                    {
                        max = veg[cv];
                        maxi = cv+1;
                    }
                    cv++;
                }

                //Console.WriteLine(maxi);
                vsz.Add(maxi);
                int maxveg = max;
                int maxvegi = cv;
                for (int i = cv; i < vs; i++)
                {
                    if (kezd[i] <= max)
                    {
                        if (maxveg <veg[i])
                        {
                            maxveg = veg[i];
                            maxvegi = i;
                        }
                        
                    }
                    else
                    {
                        vsz.Add(maxvegi + 1);
                        max = maxveg;
                        maxvegi = i;

                    }
                }
                if (veg[vsz[vsz.Count-1]-1] != asz)
                {
                    vsz.Add(maxvegi + 1);
                }
                bool hiba = false;
                for (int i = 1; i < vsz.Count; i++)
                {
                    if (veg[vsz[i-1]-1]<kezd[vsz[i]-1])
                    {
                        hiba = true;
                    }
                }
                if (hiba == true)
                {
                    Console.WriteLine(-1);
                }
                else
                {
                    Console.WriteLine(vsz.Count-1);
                    Console.WriteLine(string.Join(" ", vsz));
                }

            }
            Console.ReadLine();
        }
    }
}
Részfeladat Összpont Teszt Verdikt Idő Memória
base 50/50
1 Elfogadva 0/0 34ms 22140 KiB
2 Elfogadva 0/0 52ms 27792 KiB
3 Elfogadva 1/1 32ms 22652 KiB
4 Elfogadva 1/1 32ms 23000 KiB
5 Elfogadva 2/2 34ms 23560 KiB
6 Elfogadva 2/2 32ms 23556 KiB
7 Elfogadva 2/2 35ms 24440 KiB
8 Elfogadva 2/2 37ms 25096 KiB
9 Elfogadva 2/2 37ms 25788 KiB
10 Elfogadva 2/2 39ms 26080 KiB
11 Elfogadva 2/2 41ms 26768 KiB
12 Elfogadva 2/2 43ms 27336 KiB
13 Elfogadva 2/2 35ms 25336 KiB
14 Elfogadva 2/2 37ms 26252 KiB
15 Elfogadva 2/2 39ms 26800 KiB
16 Elfogadva 2/2 41ms 28308 KiB
17 Elfogadva 2/2 46ms 29360 KiB
18 Elfogadva 2/2 48ms 29976 KiB
19 Elfogadva 2/2 50ms 30432 KiB
20 Elfogadva 2/2 50ms 30288 KiB
21 Elfogadva 2/2 50ms 30564 KiB
22 Elfogadva 2/2 50ms 31316 KiB
23 Elfogadva 2/2 52ms 31724 KiB
24 Elfogadva 2/2 52ms 31872 KiB
25 Elfogadva 2/2 52ms 31448 KiB
26 Elfogadva 2/2 52ms 31336 KiB
27 Elfogadva 2/2 50ms 31796 KiB
28 Elfogadva 2/2 50ms 32008 KiB