From 5c3b97fb2572ce8940439abd0652d2a7f7a623bd Mon Sep 17 00:00:00 2001 From: Syndamia Date: Sun, 11 Jan 2026 13:43:39 +0200 Subject: feat(Week13): Add solutions to most exercises --- Week13/Exercise12.cpp | 34 ++++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) create mode 100644 Week13/Exercise12.cpp (limited to 'Week13/Exercise12.cpp') diff --git a/Week13/Exercise12.cpp b/Week13/Exercise12.cpp new file mode 100644 index 0000000..107281b --- /dev/null +++ b/Week13/Exercise12.cpp @@ -0,0 +1,34 @@ +#include + +unsigned max(unsigned a, unsigned b) { + return a > b ? a : b; +} + +unsigned longestIncreasing(int* nums, unsigned size, unsigned current) { + if (size <= 1) + return current + size; + + if (nums[0] < nums[1]) + return longestIncreasing(nums + 1, size - 1, current + 1); + else + return max(current + 1, longestIncreasing(nums + 1, size - 1, 0)); +} + +unsigned longestIncreasing(int* nums, unsigned size) { + return longestIncreasing(nums, size, 0); +} + +int main() { + unsigned N; + std::cin >> N; + + int* nums = new int[N]; + for (unsigned i = 0; i < N; ++i) + std::cin >> nums[i]; + + std::cout << longestIncreasing(nums, N) << std::endl; + + delete[] nums; + + return 0; +} -- cgit v1.3.1-23-gd82d