3849 | 2023. 03. 03 11:53:23 | Peter | Fasor (40) | csharp | Időlimit túllépés 20/40 | 284ms | 28692 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+1]; //Emiatt miért akad ki hogyha ez nincs kikommentezve és a következő sorban az st helyett az st2-t akarnám
st = 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
bool volt = false; //Talált-e ilyen intervallumot
for (int j = K; j < X.Length-K; j++)
{
faszam++;
bool vege = true;
for (i = j-K; i <= j+K; i++)
{
if (X[i] > X[j])
{
vege = false;
break;
}
}
if (vege) //Ha tökéletes volt az előző cikluslépésben látott mutatvány
{
volt = true;
break;
}
}
if (volt)
{
Console.WriteLine(faszam);
}
else
{
Console.WriteLine(-1);
}
Console.ReadKey();
}
}
}
Részfeladat | Összpont | Teszt | Verdikt | Idő | Memória | ||
---|---|---|---|---|---|---|---|
base | 20/40 | ||||||
1 | Elfogadva | 0/0 | 32ms | 22076 KiB | |||
2 | Elfogadva | 0/0 | 39ms | 24784 KiB | |||
3 | Elfogadva | 2/2 | 30ms | 22708 KiB | |||
4 | Elfogadva | 2/2 | 32ms | 23208 KiB | |||
5 | Elfogadva | 2/2 | 32ms | 23312 KiB | |||
6 | Elfogadva | 2/2 | 30ms | 23948 KiB | |||
7 | Elfogadva | 2/2 | 35ms | 24956 KiB | |||
8 | Elfogadva | 2/2 | 37ms | 25440 KiB | |||
9 | Elfogadva | 2/2 | 41ms | 27072 KiB | |||
10 | Elfogadva | 2/2 | 41ms | 27772 KiB | |||
11 | Elfogadva | 2/2 | 39ms | 27680 KiB | |||
12 | Elfogadva | 2/2 | 39ms | 27584 KiB | |||
13 | Időlimit túllépés | 0/2 | 268ms | 17848 KiB | |||
14 | Időlimit túllépés | 0/2 | 261ms | 17980 KiB | |||
15 | Időlimit túllépés | 0/2 | 257ms | 26316 KiB | |||
16 | Időlimit túllépés | 0/2 | 246ms | 27436 KiB | |||
17 | Időlimit túllépés | 0/2 | 256ms | 28692 KiB | |||
18 | Időlimit túllépés | 0/2 | 284ms | 28396 KiB | |||
19 | Időlimit túllépés | 0/2 | 268ms | 28268 KiB | |||
20 | Időlimit túllépés | 0/2 | 259ms | 16396 KiB | |||
21 | Időlimit túllépés | 0/2 | 261ms | 27240 KiB | |||
22 | Időlimit túllépés | 0/2 | 277ms | 28224 KiB |