Website Summary Files Commits Branches @commit @diff @stats
path: root / Sem. 14 / task4.cpp
blob: b48b5210a06cb0665b41f64c29fdc141e5138f3d (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
#include <iostream>
using namespace std;

bool checkIfContainsFirstNEvenNumbers(const unsigned* arr, bool* visited, int len, int n)
{
	if (len == 0)
		return true; //all values in visited should be true

	int currentNumber = arr[0];
	if (currentNumber % 2 != 0 || currentNumber > 2 * n - 2 || visited[currentNumber / 2])
		return false;

	visited[currentNumber / 2] = true;

	return checkIfContainsFirstNEvenNumbers(arr + 1, visited, len - 1, n);

}
int main()
{
	int n;
	cin >> n;
	unsigned* arr = new unsigned[n];
	bool* visited = new bool[n];
	for (int i = 0; i < n; i++)
	{
		cin >> arr[i];
		visited[i] = false;
	}

	cout << checkIfContainsFirstNEvenNumbers(arr, visited, n, n);
	delete[] arr, visited;
}