답안 #941127

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
941127 2024-03-08T07:38:43 Z FKS Martian DNA (BOI18_dna) C++14
0 / 100
2000 ms 7540 KB
#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_set<int> hset;
	unordered_map<int, int> req;
	for (int i = 0;i < r;i++)
	{
		int x, y;
		cin >> x >> y;

		hset.emplace(x);
		req[x] = y;
	}

	int min_len = 1e9;
	int j = 0;
	for (int i = 0;i < n;i++)
	{
		if (i && hset.count(dna[i-1]))
			req[dna[i-1]]++;

		for (j;j < n;j++)
		{
			if (hset.count(dna[j]))
			{
				req[dna[j]]--;
			}

			bool ok = true;
			for (auto& i : req)
				if (i.second > 0)
				{
					ok = false;
					break;
				}

			if (ok) {
				min_len = min(min_len, j - i + 1);
				break;
			}
		}
	}

	if (min_len == 1e9)
		cout << "impossible";
	else if (min_len)
		cout << min_len;
	else if (min_len == 0)
		cout << "impossible";

	return 0;
}

Compilation message

dna.cpp: In function 'int main()':
dna.cpp:34:8: warning: statement has no effect [-Wunused-value]
   34 |   for (j;j < n;j++)
      |        ^
# 결과 실행 시간 메모리 Grader output
1 Incorrect 0 ms 348 KB Output isn't correct
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 1 ms 348 KB Output isn't correct
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 19 ms 1116 KB Output isn't correct
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Execution timed out 2041 ms 7540 KB Time limit exceeded
2 Halted 0 ms 0 KB -