Submission #941110

#TimeUsernameProblemLanguageResultExecution timeMemory
941110FKS Martian DNA (BOI18_dna)C++14
0 / 100
2053 ms9416 KiB
#include <bits/stdc++.h>
using namespace std;

#define max(a, b) (a > b ? a : b)

int main() {
	ios_base::sync_with_stdio(0);
	cin.tie(0);
	cout.tie(0);
	
	int n, k, r;cin>>n>>k>>r;
	int* dna = new int[n];
	for (int i = 0;i < n;i++)
		cin >> dna[i];

	unordered_map<int, int> creq;
	for (int i = 0;i < r;i++)
	{
		int x, y;
		cin >> x >> y;

		creq[x] = y;
	}

	int min_len = 1e9;
	for (int i = 0;i < n;i++)
	{
		unordered_map<int, int> req = creq;
		
		for (int j = i;j < i + min_len;j++)
		{
			if (req[dna[j]])
			{
				req[dna[j]]--;
			}

			if (req[dna[j]] == 0)
				req.erase(dna[j]);

			if (!req.size())
				min_len = min(min_len, j - i + 1);
		}
	}

	cout << min_len;

	return 0;
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...