71862024-01-02 12:16:44czitaA lehető legkevesebb átszállás (50 pont)csharpWrong answer 38/5050ms31128 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,vegm=0;
                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;
                        vegm = veg;
                    }
                    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;
                                vegm = kovetkezoveg;
                            }
                        }
                        else//Ha nincs átfedés
                        {
                            if (kovetkezoveg < st[0])
                            {
                                vanatfedes = false;
                            }
                            vonatok.Add(vonat);
                            vegm = kovetkezoveg;
                            veg = kovetkezoveg;
                            vonat = i;
                           


                        }

                        elozoveg = st[1];
                        elozokezd = st[0];
                        if (st[1] == N)
                        {
                            vanvegallomas = true;
                         //   vegm = st[1];
                        }
                    }
                    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);
               // Console.WriteLine(vegm);
                if (!vanvegallomas || !vanatfedes||vegm!=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
base38/50
1Wrong answer0/030ms23156 KiB
2Accepted0/050ms27848 KiB
3Accepted1/129ms23384 KiB
4Accepted1/130ms23832 KiB
5Accepted2/234ms24452 KiB
6Wrong answer0/230ms24668 KiB
7Accepted2/235ms25452 KiB
8Accepted2/235ms26084 KiB
9Accepted2/237ms26348 KiB
10Accepted2/239ms26976 KiB
11Accepted2/239ms27472 KiB
12Accepted2/243ms27748 KiB
13Accepted2/235ms26792 KiB
14Accepted2/237ms26864 KiB
15Accepted2/237ms27500 KiB
16Accepted2/241ms27988 KiB
17Accepted2/245ms29036 KiB
18Accepted2/246ms29396 KiB
19Accepted2/248ms29792 KiB
20Accepted2/246ms30396 KiB
21Wrong answer0/248ms30380 KiB
22Accepted2/250ms31020 KiB
23Wrong answer0/246ms30616 KiB
24Wrong answer0/246ms30840 KiB
25Accepted2/250ms30756 KiB
26Wrong answer0/246ms30824 KiB
27Wrong answer0/246ms30868 KiB
28Accepted2/248ms31128 KiB