71842024-01-02 12:04:33czitaA lehető legkevesebb átszállás (50 pont)csharpWrong answer 4/5046ms30976 KiB
using System;
using System.Collections.Generic;
//using System.Linq;


namespace átszállás
{
    internal class Program
    {




        static void Main(string[] args)
        {
            string[] sts = Console.ReadLine().Split(' ');
            int[] st = new int[2];
            st[1] = int.Parse(sts[1]);
            st[0] = int.Parse(sts[0]);
            int N = st[1];
            int M = st[0];
             sts = Console.ReadLine().Split(' ');
             st = new int[2];
            st[1] = int.Parse(sts[1]);
            st[0] = int.Parse(sts[0]);
            bool vanvegallomas = false, vanatfedes = true; ;
            if (st[0] != 1)
            { Console.WriteLine(-1); }
            else
            {
                int vonat = 1, elozoveg = 0, veg = st[1], kezd;
                List<int> vonatok = new List<int>();
                int cv = 1;
                while (st[0] == 1)//az első állomásról induló vonat
                {
                    if (st[1] > veg)
                    {
                        veg = st[1];
                        vonat = cv;
                    }
                    cv++;
                    sts = Console.ReadLine().Split(' ');
                    st = new int[2];
                    st[1] = int.Parse(sts[1]);
                    st[0] = int.Parse(sts[0]);
                    if (st[1] == N)
                    {
                        vanvegallomas = true;
                    }
                }
                vonatok.Add(vonat);
                kezd = st[0];
                elozoveg = st[1];
                int kovetkezoveg = veg;
                int elozokezd = st[0];
                for (int i = cv; i < M; i++)
                {
                    if (!vanvegallomas)
                    {
                        if (st[0] <= veg)
                        {
                            if (st[1] > kovetkezoveg)
                            {
                                kovetkezoveg = st[1];
                                vonat = i;
                            }
                        }
                        else//Ha nincs átfedés
                        {
                            if (kovetkezoveg < st[0])
                            {
                                vanatfedes = false;
                            }
                            vonatok.Add(vonat);
                            veg = kovetkezoveg;
                            vonat = i;
                            

                        }

                        elozoveg = st[1];
                        elozokezd = st[0];
                        if (st[1] == N)
                        {
                            vanvegallomas = true;
                        }
                    }
                    if (i <= M - 1)
                    {
                        sts = Console.ReadLine().Split(' ');
                        st = new int[2];
                        st[1] = int.Parse(sts[1]);
                        st[0] = int.Parse(sts[0]);
                    }

                }
                vonatok.Add(vonat);
                
                if (!vanvegallomas || !vanatfedes||veg!=N)
                { Console.WriteLine(-1); }
                else
                {
                    HashSet<int> h = new HashSet<int>(vonatok); 
                    Console.WriteLine(h.Count-1);
                    Console.WriteLine(string.Join(" ", h));
                }


            }
            Console.ReadKey();
        }
    }
}


SubtaskSumTestVerdictTimeMemory
base4/50
1Wrong answer0/030ms22632 KiB
2Wrong answer0/045ms27296 KiB
3Accepted1/132ms23736 KiB
4Accepted1/130ms23728 KiB
5Accepted2/234ms24524 KiB
6Wrong answer0/230ms24764 KiB
7Wrong answer0/234ms25048 KiB
8Wrong answer0/234ms25308 KiB
9Wrong answer0/235ms25364 KiB
10Wrong answer0/235ms25984 KiB
11Wrong answer0/237ms27124 KiB
12Wrong answer0/237ms27640 KiB
13Wrong answer0/232ms26248 KiB
14Wrong answer0/232ms26496 KiB
15Wrong answer0/235ms26964 KiB
16Wrong answer0/239ms28244 KiB
17Wrong answer0/241ms29232 KiB
18Wrong answer0/243ms29680 KiB
19Wrong answer0/243ms29872 KiB
20Wrong answer0/243ms29888 KiB
21Wrong answer0/246ms30356 KiB
22Wrong answer0/246ms30192 KiB
23Wrong answer0/245ms30244 KiB
24Wrong answer0/246ms30312 KiB
25Wrong answer0/246ms30552 KiB
26Wrong answer0/246ms30412 KiB
27Wrong answer0/246ms30808 KiB
28Wrong answer0/246ms30976 KiB