7886 2024. 01. 11 17:57:40 ananász Sorozat generálás csharp Elfogadva 50/50 119ms 32240 KiB
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace sorozat_generalas
{
    class Program
    {
        static void Main(string[] args)
        {
            string[] st = Console.ReadLine().Split();
            int M = int.Parse(st[0]);
            int x = int.Parse(st[1]);//kezdőszám
            int A = int.Parse(st[2]);
            int B = int.Parse(st[3]);
            int N = int.Parse(st[4]);//lépések száma
            int K = int.Parse(st[5]);
            List<int> sorozat = new List<int>();
            long akt = x;
            string s = "";
            int ismetlodik = 0;
            for (int i = 0; i < N; i++)
            {
                akt = akt * A + B;
                s = akt.ToString();
                s = s.Remove(s.Length - M);
                while (s.Length > 2 * M)
                {
                    s = s.Remove(0, 1);
                }
                akt = int.Parse(s);
                if (!sorozat.Contains((int)akt))
                {
                    sorozat.Add((int)akt);
                }
                else
                {
                    ismetlodik = (int)akt;
                    break;
                }
            }
            int id = 0;
            List<int> rendezett = new List<int>(sorozat);
            while (sorozat[0] != ismetlodik)
            {
                sorozat.RemoveAt(0);
                id++;
            }
            Console.WriteLine(sorozat.Count);
            id = 0;
            for (int i = rendezett.Count; i < N; i++)
            {
                if (id==sorozat.Count)
                {
                    id = 0;
                }
                rendezett.Add(sorozat[id]);
                id++;
            }
            rendezett=rendezett.OrderByDescending(y => y).ToList();
            Console.WriteLine(rendezett[K-1]);
            /*int id = 0;
            List<int> eleje = new List<int>();
            while (sorozat[id] != ismetlodik)
            {
                eleje.Add(sorozat[id]);
                id++;
            }
            ismetlodik = sorozat.Count - id;//hány ismétlődik
            Console.WriteLine(ismetlodik);
            List<int> rendezett = new List<int>(sorozat);
            int kimaradt = N - sorozat.Count;
            int ismdb = kimaradt / (ismetlodik)+1;  //ennyiszer ismétlődik teljesen
            kimaradt = (kimaradt) % (ismetlodik);  //ennyi maradt még az utolsó ismétlődés után
            List<int> maradek = new List<int>();
            for (int i = id; i < kimaradt+id; i++)
            {
                maradek.Add(sorozat[i]);
            }
            rendezett = rendezett.OrderByDescending(y => y).ToList();
            int keresett = 0;
            id = 0;
            for (int i = 0; i < rendezett.Count; i++)
            {
                if (maradek.Contains(rendezett[i]))
                {
                    id += ismdb + 1;
                }
                else if (eleje.Contains(rendezett[i]))
                {
                    id++;
                }
                else
                {
                    id += ismdb;
                }
                if (id >= K)
                {
                    keresett = rendezett[i];
                    break;
                }
            }
            Console.WriteLine(keresett);*/
            Console.ReadKey();
        }
    }
}
Részfeladat Összpont Teszt Verdikt Idő Memória
base 50/50
1 Elfogadva 0/0 37ms 22080 KiB
2 Elfogadva 0/0 108ms 27764 KiB
3 Elfogadva 2/2 35ms 22744 KiB
4 Elfogadva 2/2 39ms 23404 KiB
5 Elfogadva 2/2 37ms 23580 KiB
6 Elfogadva 2/2 37ms 24208 KiB
7 Elfogadva 2/2 41ms 24244 KiB
8 Elfogadva 4/4 41ms 24632 KiB
9 Elfogadva 4/4 48ms 25164 KiB
10 Elfogadva 4/4 67ms 26672 KiB
11 Elfogadva 4/4 67ms 26936 KiB
12 Elfogadva 4/4 79ms 27992 KiB
13 Elfogadva 4/4 107ms 29900 KiB
14 Elfogadva 4/4 103ms 29812 KiB
15 Elfogadva 4/4 104ms 31700 KiB
16 Elfogadva 4/4 115ms 31444 KiB
17 Elfogadva 4/4 119ms 32240 KiB