37992023-03-02 22:49:45PeterFasor (40)csharpFutási hiba 0/40150ms65724 KiB
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace fasor
{
    internal class Program
    {
        static void Main(string[] args)
        {
            //Beolvasás:
            int[] st = Console.ReadLine().Split().Select(int.Parse).ToArray();
            int N = st[0];
            int K = st[1];
            //Tömbnek kezdő-végző elemek
            int[] X = new int[N + 2 * K];
            int i = 0;
            for (i = 0; i < K; i++)
            {
                X[i] = 0;
            }
            int[] st2 = new int[N];
            st2 = Console.ReadLine().Split().Select(int.Parse).ToArray(); //FONTOS: 48k karakternél kiakad? Miért?
            for (i = i; i < K+N; i++)
            {
                X[i] = st[i - K];
            }
            for (i = i; i < K+N+K; i++)
            {
                X[i] = 0;
            }



            //Algoritmus:
            //Bool tokeletes = true;
            //Kiindul egy fától és megnézi hogy annak K környezében van-e magasabb (+- <-- How? K elemmel feltöltjük a tömb elejét és végét, így nem fog kiindexelni), for ciklussal végigmegy -K-tól K-ig, ha talál egy nagyobb akkor break, tokeles = false.
            //If tokeletes = true akkor break;, ha nem az akkor obviously megy tovább a következő fára ami a foreach következő eleme lesz

            int faszam = 0;
            //int tokeletes = 0; //-1 - false; 0 - idk; 1 - true
            foreach (var fa in X)
            {
                faszam++;
                //tokeletes = 0;
                for (i = -K; i <= K; i++)
                {
                    if (X[i+K]>fa)
                    {
                        //tokeletes = -1;
                        break;
                    }
                }
                if (i>K) //Ha tökéletes volt az előző cikluslépésben látott mutatvány
                {
                    break;
                }
            }

            Console.WriteLine(faszam-K);

            Console.ReadKey();

        }
    }
}
RészfeladatÖsszpontTesztVerdiktIdőMemória
base0/40
1Futási hiba0/034ms21224 KiB
2Futási hiba0/041ms23796 KiB
3Futási hiba0/232ms21660 KiB
4Futási hiba0/232ms21744 KiB
5Futási hiba0/232ms22552 KiB
6Futási hiba0/232ms22556 KiB
7Futási hiba0/235ms23096 KiB
8Futási hiba0/235ms23580 KiB
9Futási hiba0/239ms25588 KiB
10Futási hiba0/241ms26344 KiB
11Futási hiba0/239ms26788 KiB
12Futási hiba0/239ms26020 KiB
13Futási hiba0/290ms44372 KiB
14Futási hiba0/289ms42492 KiB
15Futási hiba0/2135ms60708 KiB
16Futási hiba0/2140ms62304 KiB
17Futási hiba0/2150ms64360 KiB
18Futási hiba0/2145ms63980 KiB
19Futási hiba0/2150ms65724 KiB
20Futási hiba0/279ms40768 KiB
21Futási hiba0/2136ms61476 KiB
22Futási hiba0/2149ms64388 KiB