60422023-10-28 18:57:13GervidKarácsonyi égőkcpp17Elfogadva 100/100158ms28348 KiB
#include <iostream>
#include <vector>
#include <set>
#include <limits.h>

using namespace std;

int main()
{
    int n, c, i, out = INT_MAX;
	cin >> n >> c;

    vector<int> leds(n);

	for (i = 0; i < n; i++)
	{
		cin >> leds[i];
	}

	vector<int> colors(c, 0);
	set<int> present;

	int back = 0;
	i = 0;

	while (i < n)
	{
		while (present.size() < c && i < n)
		{
			colors[leds[i]]++;
			present.insert(leds[i]);
			i++;
		}

		while (present.size() == c)
		{
			if (out > i - back)
			{
				out = i - back;
			}
			
			if (--colors[leds[back]] == 0)
			{
				present.erase(leds[back]);
			}

			back++;
		}

	}

	cout << out;
}
//10 4
//0 1 3 0 0 1 2 0 2 3
RészfeladatÖsszpontTesztVerdiktIdőMemória
subtask10/0
1Elfogadva3ms1804 KiB
2Elfogadva3ms1932 KiB
subtask215/15
3Elfogadva41ms4016 KiB
4Elfogadva41ms4636 KiB
5Elfogadva39ms5256 KiB
6Elfogadva3ms3988 KiB
7Elfogadva3ms3996 KiB
subtask310/10
8Elfogadva3ms4040 KiB
9Elfogadva3ms4184 KiB
10Elfogadva3ms4396 KiB
11Elfogadva3ms4452 KiB
12Elfogadva3ms4456 KiB
subtask420/20
13Elfogadva3ms4476 KiB
14Elfogadva3ms4464 KiB
15Elfogadva3ms4600 KiB
16Elfogadva3ms4680 KiB
17Elfogadva3ms4668 KiB
subtask525/25
18Elfogadva4ms5468 KiB
19Elfogadva4ms5320 KiB
20Elfogadva4ms5512 KiB
21Elfogadva4ms5292 KiB
22Elfogadva4ms5308 KiB
subtask630/30
23Elfogadva158ms28348 KiB
24Elfogadva61ms8600 KiB
25Elfogadva70ms9752 KiB
26Elfogadva104ms15828 KiB
27Elfogadva123ms21892 KiB
28Elfogadva71ms13184 KiB
29Elfogadva61ms13656 KiB
30Elfogadva39ms13948 KiB