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 |