*Author:* SQU_Test

**DIFFICULTY:**

Medium

**PREREQUISITES:**

Dynamic programming, greedy.

**PROBLEM:**

You are given array consisting of n integers. Your task is to find the maximum length of an increasing subarray of the given array.

A subarray is the sequence of consecutive elements of the array. Subarray is called increasing if each element of this subarray is strictly greater than previous.

**EXPLANATION:**

Let’s iterate through the given array from the left to the right and store in the variable *c* the length of the current increasing subarray. If the current element is more than the previous we need to increase *c* by one. In the other case we need to update the answer with the value of *c* and put in *maxC* and reset *c* to 1, because new increasing subarray began.

**TIME COMPLEXITY:**

Time complexity of the solution is O(n).

**SOLUTIONS:**

## Setter’s Solution

```
#include <iostream>
using namespace std;
int main()
{
long n,prev,c,cur,maxC;
cin>>n;
cin>> prev;
c = 1;
maxC = 1;
for(int i =0;i<n-1;i++)
{
cin>>cur;
if(cur > prev)
c++;
else
{
if(c>maxC)
maxC=c;
c=1;
}
prev = cur;
}
if(c > maxC)
maxC = c;
cout<<maxC<<endl;
return 0;
}
```