Website Summary Files Commits Branches @commit @diff @stats
path: root / Sem. 14 / task4.cpp
diff options
context:
space:
mode:
1 files changed, 32 insertions, 0 deletions
-rw-r--r--Sem. 14/task4.cpp32
diff --git a/Sem. 14/task4.cpp b/Sem. 14/task4.cpp
new file mode 100644
index 0000000..b48b521
--- /dev/null
+++ b/Sem. 14/task4.cpp
@@ -0,0 +1,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;
+} \ No newline at end of file