34702023-02-28 11:35:30AGergoSorozat generáláscsharpIdőlimit túllépés 10/50377ms25912 KiB
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace sorozat
{
    class Program
    {
        static void Main(string[] args)
        {
            string[] st = Console.ReadLine().Split();

            double M = int.Parse(st[0]);
            int num = int.Parse(st[1]);
            int szorzo = int.Parse(st[2]);
            int add = int.Parse(st[3]);
            int lepes = int.Parse(st[4]);
            int k = int.Parse(st[5]); // k. legnagyobb elem kell

            int len = lepes + 1; //tavolsag a ket ugyanolyan szam közt

            List<int> szamok = new List<int>();
            int index = -1;

            for (int i = 0; i < lepes; i++)
            {
                num = num * szorzo + add;
                
                num = num % (int)(Math.Pow(10,3*M))/10;

                if (szamok.Contains(num))
                {
                    len = i - szamok.IndexOf(num);
                    index = i;
                    break;
                }
                szamok.Add(num);
            }
            for (int i = index; i < lepes; i++)
            {
                szamok.Add(szamok[i - len]);
            }
            szamok.Sort();
            szamok.Reverse();

            Console.WriteLine(len);
            
            Console.WriteLine(szamok[k-1]);

        }
    }
}
RészfeladatÖsszpontTesztVerdiktIdőMemória
base10/50
1Elfogadva0/032ms21128 KiB
2Időlimit túllépés0/0361ms4608 KiB
3Elfogadva2/232ms21908 KiB
4Elfogadva2/232ms22304 KiB
5Elfogadva2/232ms22800 KiB
6Elfogadva2/232ms23072 KiB
7Elfogadva2/232ms22684 KiB
8Hibás válasz0/435ms23452 KiB
9Hibás válasz0/441ms23456 KiB
10Hibás válasz0/445ms24060 KiB
11Hibás válasz0/446ms24376 KiB
12Hibás válasz0/454ms25348 KiB
13Hibás válasz0/4284ms25328 KiB
14Időlimit túllépés0/4377ms7336 KiB
15Időlimit túllépés0/4367ms7212 KiB
16Hibás válasz0/4197ms25912 KiB
17Hibás válasz0/4270ms25432 KiB