71832024-01-02 11:57:24czitaA lehető legkevesebb átszállás (50 pont)csharpWrong answer 39/5052ms30896 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)
                { Console.WriteLine(-1); }
                else
                {
                    HashSet<int> h = new HashSet<int>(vonatok); 
                    Console.WriteLine(h.Count-1);
                    Console.WriteLine(string.Join(" ", h));
                }


            }
            Console.ReadKey();
        }
    }
}


SubtaskSumTestVerdictTimeMemory
base39/50
1Accepted0/032ms23216 KiB
2Accepted0/048ms28016 KiB
3Accepted1/129ms23628 KiB
4Wrong answer0/132ms24112 KiB
5Accepted2/232ms24452 KiB
6Wrong answer0/229ms24648 KiB
7Accepted2/235ms24672 KiB
8Accepted2/235ms25224 KiB
9Accepted2/235ms25644 KiB
10Accepted2/239ms26388 KiB
11Accepted2/239ms26876 KiB
12Accepted2/241ms27276 KiB
13Accepted2/235ms25892 KiB
14Accepted2/237ms26844 KiB
15Accepted2/239ms27456 KiB
16Accepted2/241ms28048 KiB
17Accepted2/245ms29192 KiB
18Accepted2/246ms29684 KiB
19Accepted2/248ms29884 KiB
20Accepted2/248ms30084 KiB
21Accepted2/252ms30188 KiB
22Accepted2/248ms30536 KiB
23Wrong answer0/248ms30644 KiB
24Wrong answer0/246ms30716 KiB
25Accepted2/248ms30760 KiB
26Wrong answer0/246ms30752 KiB
27Wrong answer0/246ms30792 KiB
28Accepted2/248ms30896 KiB