18892022-12-07 11:03:18peterRendőrségi Üldözés 4cpp17Időlimit túllépés 0/1002.598s4256 KiB
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <stdlib.h>

bool zolde(int ido, int periodus)
{
	return ido % (2 * periodus) < periodus;	
}

bool lampae(int koordinata, int* lampak, int lampakszama)
{
	for (int i = 0; i < lampakszama; i++)
	{
		if (lampak[i] == koordinata)
		{
			return true;
		}
	}
	return false;
}

int main()
{
	int lampakszama, athaladhat, periodusfele, utcahossz;
	scanf("%d %d %d %d", &lampakszama, &athaladhat, &periodusfele, &utcahossz);

	int* koordinatak = (int*)malloc(sizeof(int) * lampakszama);
	for (int i = 0; i < lampakszama; i++)
	{
		scanf("%d", &koordinatak[i]);
	}

	int ido = 0;
	int koordinata = 0;
	int meglampa = lampakszama;

	do
	{
		if (lampae(koordinata, koordinatak, lampakszama))
		{

			if (zolde(ido, periodusfele))
			{
				koordinata++;
			}
			else
			{
				if (athaladhat == 0)
				{
					; // üres --> várakozik a lámpánál
				}
				else if (athaladhat >= meglampa)
				{
					athaladhat--;
					koordinata++;
				}
				else
				{
					
				}
			}
			meglampa--;
		}
		else
		{
			koordinata++;
		}
		ido++;

	} while (koordinata < utcahossz);

	printf("%d", ido);

	return 0;
}
RészfeladatÖsszpontTesztVerdiktIdőMemória
subtask10/0
1Elfogadva3ms1368 KiB
2Elfogadva2ms1696 KiB
subtask20/10
3Időlimit túllépés2.598s1812 KiB
4Időlimit túllépés2.563s2036 KiB
5Időlimit túllépés2.552s1796 KiB
6Időlimit túllépés2.572s1872 KiB
7Időlimit túllépés2.543s2248 KiB
subtask30/15
8Időlimit túllépés2.552s2108 KiB
9Időlimit túllépés2.568s2752 KiB
10Időlimit túllépés2.563s2744 KiB
11Időlimit túllépés2.562s2816 KiB
subtask40/15
12Hibás válasz2ms2784 KiB
13Hibás válasz2ms3000 KiB
14Hibás válasz2ms3052 KiB
15Hibás válasz2ms3096 KiB
subtask50/25
16Hibás válasz2ms3256 KiB
17Hibás válasz2ms3448 KiB
18Hibás válasz2ms3432 KiB
19Hibás válasz2ms3744 KiB
20Hibás válasz2ms3656 KiB
subtask60/15
21Időlimit túllépés2.566s3588 KiB
22Időlimit túllépés2.552s3524 KiB
23Időlimit túllépés2.552s3808 KiB
24Időlimit túllépés2.579s3784 KiB
25Időlimit túllépés2.563s4000 KiB
subtask70/20
26Időlimit túllépés2.548s4012 KiB
27Időlimit túllépés2.562s4256 KiB
28Időlimit túllépés2.562s4248 KiB
29Időlimit túllépés2.546s4196 KiB
30Időlimit túllépés2.578s3848 KiB